Security Vulnerability Report
中文
CVE-2026-39871 CVSS 7.5 HIGH

CVE-2026-39871

Published: 2026-05-11 21:19:00
Last Modified: 2026-05-12 17:17:17

Description

A path handling issue was addressed with improved logic. This issue is fixed in macOS Sequoia 15.7.7, macOS Sonoma 14.8.7, macOS Tahoe 26.5. An app may be able to observe unprotected user data.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:* - VULNERABLE
macOS Sequoia < 15.7.7
macOS Sonoma < 14.8.7
macOS Tahoe < 26.5

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ Conceptual Proof of Concept (PoC) for CVE-2026-39871. This script simulates how a path handling issue might allow an app to access unprotected user data outside its sandbox. Note: This is a simulation based on the vulnerability description. """ import os def simulate_vulnerable_path_check(requested_path): """ Simulates a vulnerable path handling logic in macOS. In a vulnerable state, the system might fail to resolve canonical paths correctly, allowing access to restricted data. """ print(f"[*] App requesting access to: {requested_path}") # Simulate the vulnerable logic: insufficient canonicalization # Real vulnerability would be in the kernel/framework C code. base_path = "/var/mobile/Applications/MyApp/Data" # Vulnerable check: does not resolve '../' properly before checking prefix if requested_path.startswith(base_path) or "../" in requested_path: # In the real vulnerability, the OS might skip the strict check # due to logic flaw, allowing the traversal. resolved_path = os.path.normpath(requested_path) print(f"[!] VULNERABLE LOGIC: Access allowed to resolved path: {resolved_path}") # Simulate reading sensitive data if "PrivateUserData" in resolved_path: return "SENSITIVE_DATA_EXPOSED: User_Credentials.txt" else: print("[-] Access denied by sandbox.") return None # Attack Scenario: Crafting a path to escape sandbox # The app tries to access user data outside its container malicious_path = "/var/mobile/Applications/MyApp/Data/../../../Users/Shared/PrivateUserData" print("--- Testing CVE-2026-39871 PoC ---") result = simulate_vulnerable_path_check(malicious_path) if result: print(f"[+] EXPLOIT SUCCESSFUL: {result}") else: print("[-] Exploit failed.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-39871", "sourceIdentifier": "[email protected]", "published": "2026-05-11T21:19:00.050", "lastModified": "2026-05-12T17:17:16.833", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A path handling issue was addressed with improved logic. This issue is fixed in macOS Sequoia 15.7.7, macOS Sonoma 14.8.7, macOS Tahoe 26.5. An app may be able to observe unprotected user data."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-552"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*", "versionStartIncluding": "14.0", "versionEndExcluding": "14.8.7", "matchCriteriaId": "DD9E7FAE-30DA-4B2B-A63A-6DFEA7A29933"}, {"vulnerable": true, "criteria": "cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*", "versionStartIncluding": "15.0", "versionEndExcluding": "15.7.7", "matchCriteriaId": "2984C440-3DC2-413A-B5FA-1FAB21078DB8"}, {"vulnerable": true, "criteria": "cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*", "versionStartIncluding": "26.0", "versionEndExcluding": "26.5", "matchCriteriaId": "6CB91417-90A8-4A9B-A1D0-1D94B80EF837"}]}]}], "references": [{"url": "https://support.apple.com/en-us/127115", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}, {"url": "https://support.apple.com/en-us/127116", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}, {"url": "https://support.apple.com/en-us/127117", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}]}}