Parallels Desktop Vulnerability Allows Root Access, Leaving Intel Macs at Risk
Share
Researchers at JFrog have identified a vulnerability in Parallels Desktop for Mac that allows a local user with standard privileges to escalate their access to root, the highest level of permission on the operating system.
The flaw, tracked as CVE-2026-90894, has been assigned a severity rating of 7.8 out of 10 by JFrog. While the vulnerability does not permit remote network attacks, it presents a significant risk if an attacker already has a foothold on a machine through a malicious script, a compromised package manager like Homebrew, or a poisoned npm install.
Technical details of the ParaShells flaw
The vulnerability exists within the Parallels background service, prl_disp_service, which runs with root privileges to manage networking and virtual machine packages. According to JFrog, the service listens on a socket that is world-writable, allowing any local program to connect to it.
The exploit, dubbed “ParaShells” by researchers, involves a command injection flaw when the service unpacks virtual machine appliances. The service builds a command string for the tar utility, but fails to properly sanitise folder names. By using a double quote in a folder name, an attacker can prematurely close the command and inject additional options, such as --use-compress-program, to execute arbitrary code as root.
The Intel Mac patching gap
A significant issue has emerged regarding the availability of a fix. Parallels has released version 27.0.1 to address the vulnerability, but this version requires a Mac equipped with an Apple silicon chip and macOS Sonoma 14.7 or newer.
Because Parallels has removed support for Intel-based Macs in version 27, users on older hardware are restricted to the version 26 software line. JFrog warns that version 26, including the latest build 26.4.2, does not contain the necessary changes to prevent the exploit. Consequently, Intel Mac users may remain vulnerable indefinitely unless Parallels issues a specific patch for the legacy version.
How to check for exposure
Users can determine if their installation is potentially exposed by running two commands in the Terminal:
- To check the installed version:
defaults read "/Applications/Parallels Desktop.app/Contents/Info" CFBundleShortVersionString - To check the socket permissions:
ls -l /var/run/prl_disp_service.socket
If the socket permissions show srwxrwxrwx on a version near 26.4.0, the system should be treated as exposed. As a mitigation, JFrog recommends limiting local access to vulnerable machines. Administrators should audit all Macs within an organisation that run Parallels Desktop and ensure that update policies do not attempt to force-install version 27 on Intel hardware, which would result in installation failure.




Leave a Reply