CVE-2026-90894: Parallels Desktop ParaShells Virtual Machine Host Escape & LPE
HERMES THREAT SCORE & HYPERVISOR VIRTUALIZATION BOUNDARY BREACH
Target:Parallels Desktop for Mac β ToolGate Hypervisor RPC Bridge Subsystem Rated CVSS 8.8 and HTS 92 (CRITICAL). Parallels Desktop is frequently utilized by software engineers, security analysts, and AI testbeds to execute untrusted code and malware. The 'ParaShells' vulnerability breaks the guest-to-host hypervisor boundary, executing shellcode directly on the host Apple Silicon or Intel Mac with elevated privileges.
HASS AGENTIC SEVERITY & AI WORKSPACE VM ESCAPE
Target:Sandboxed AI Agents, Virtualized Code Execution Environments & macOS Host When autonomous AI agents are isolated inside guest virtual machines, an agent executing malicious prompt instructions can exploit ParaShells to escape the VM container, obtaining direct terminal and filesystem access to the developer's physical host machine.
CVE-2026-90894: Parallels Desktop ParaShells Virtual Machine Host Escape & LPEVULNERABILITY
Software platform affected by security vulnerabilities and agentic attack patterns.
π Why is this related? (Evidence & Provenance)
“Confirmed security vulnerability in Parallels Desktop for Mac documented in Hermes dossier.”
- [vulnerability_report]
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source: Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Reliability: VERY_HIGH)
1. Technical Context & Affected Software Matrix
Section titled β1. Technical Context & Affected Software Matrixβ| Parameter | Technical Specification | Operational Impact |
|---|---|---|
| CVE Identifier | CVE-2026-90894 | Parallels Advisory / Defcon Research |
| Vulnerability Class | VM Escape / Command Injection (CWE-269 / CWE-78) | Escape guest VM to macOS host root execution |
| Affected Component | ToolGate Hypervisor RPC Host Bridge | Parallels Guest Tools Communication Driver |
| Authentication Required | Local Guest User (PR:L) | Any process running inside the guest VM |
| User Interaction | None (UI:N) | Programmatic hypercall invocation |
| Scope Impact | Changed (S:C) | Escapes virtual machine guest into physical host OS |
| Privileges Obtained | Host User / Root Escalation | Complete control of physical macOS host |
| Affected Versions | Parallels Desktop for Mac < 20.1.2 | All guest OS types (Linux, Windows, macOS) |
| Remediation Target | Parallels Desktop for Mac 20.1.2 | Update Parallels Desktop application |
2. Vulnerability Anatomy & Root Cause Analysis
Section titled β2. Vulnerability Anatomy & Root Cause AnalysisβsequenceDiagram autonumber actor Guest as Untrusted Code / AI Agent in Guest VM participant Driver as Parallels Guest Tools Driver participant ToolGate as ToolGate Hypervisor Port (Host) participant HostProcess as Parallels VM Process (macOS Host) participant HostOS as macOS Host Kernel / Terminal
Guest->>Driver: Issue IOCTL with crafted RPC command Driver->>ToolGate: Issue OUT instruction / VmCall to ToolGate port ToolGate->>HostProcess: Host reads unvalidated RPC payload HostProcess->>HostProcess: Command injection in host file-open handler HostProcess->>HostOS: Spawn shell command on macOS host as user/root HostOS-->>Guest: Reverse shell / file exfiltration established- The ToolGate interface facilitates bidirectional communication between the guest OS kernel and the host
prl_vm_appprocess using dedicated I/O ports. - When handling RPC requests for host application launching and shared directory synchronization, the host process fails to sanitize file path arguments passed to internal shell execution routines.
- An attacker inside the guest transmits an RPC request containing shell metacharacters, causing the host process to execute arbitrary bash/zsh commands outside the virtual machine.
3. Detection Engineering & Threat Hunting
Section titled β3. Detection Engineering & Threat Huntingβ# Monitor Parallels Desktop spawning unexpected shells on macOS hostlog show --predicate 'process == "prl_vm_app" or process == "prl_disp_service"' --info --last 24h// Detect prl_vm_app spawning command shellsif (strcmp(event->event.exec.target->ppid_process->executable->path.data, "/Applications/Parallels Desktop.app/Contents/MacOS/prl_vm_app") == 0) { if (strstr(event->event.exec.target->executable->path.data, "/bin/zsh") || strstr(event->event.exec.target->executable->path.data, "/bin/bash")) { alert_soc("ParaShells VM Escape Attempt Detected: PID %d", event->event.exec.target->audit_token.val[5]); }}4. Remediation, Patching & Hardening
Section titled β4. Remediation, Patching & Hardeningβ- T0 Immediate Action (< 24h) β Upgrade Parallels Desktop: Update Parallels Desktop for Mac to version 20.1.2 or later.
- T0 Mitigation β Disable ToolGate & Shared Applications:
In the virtual machine configuration:
- Navigate to Options > Sharing and set Share Mac > Off.
- Navigate to Options > Applications and uncheck Share Mac applications with Windows/Linux.
- T1 Tactical Audit (< 7d) β Audit Host SSH and Keychain Access: Review host security logs to verify that no untrusted guest processes accessed host developer credentials or SSH keys.