Ce qui se passe
Yuval Moravchick, qui dirige l'équipe de recherche en vulnérabilités de JFrog, a publié ParaShells : une élévation de privilèges locale dans Parallels Desktop for Mac. Un compte ordinaire, sans droits d'administration, obtient root.
L'identifiant est CVE-2026-90894, attribué par JFrog lui-même, qui le note 7,8 sur 10. La démonstration a été faite sur la 26.4.0, build 57513, sur un Mac Apple Silicon. Il n'y a pas d'attaque à distance : il faut du code déjà en cours d'exécution sur la machine, en simple utilisateur.
Le mécanisme
Parallels installe un service d'arrière-plan, prl_disp_service, qui tourne
en root — il configure le réseau de l'hôte et décompresse les paquets de
machines virtuelles.
Sur la machine testée, la socket du service était accessible en écriture à
tous. L'appel de connexion qui suit, PrlSrv_LoginLocal, ne vérifie que
les identifiants que le noyau rapporte pour le processus appelant : pas de
signature de code Parallels, et un compte non administrateur passe.
Pour installer une VM préparée, le service construit sa commande de
décompression comme une seule ligne de texte, puis la redécoupe en arguments
avec QProcess::splitCommand de Qt :
tar -xf "%1" -C "%2"L'appelant choisit %2 — c'est le dossier de destination de la nouvelle VM. Un
guillemet double dans le nom du dossier ferme la citation trop tôt, et ce qui
suit devient des options pour tar au lieu d'un morceau de chemin.
L'option retenue par JFrog est --use-compress-program, qui demande au tar
de macOS de passer l'archive à un autre programme. Comme tar tourne ici en
root, ce programme aussi. Le script de test écrit une règle sudo sans mot de
passe et ouvre un shell root.
Le correctif, et qui ne peut pas l'installer
JFrog situe la correction dans la branche 27. Les dates ne concordent pas : sa chronologie de divulgation donne le 1er septembre 2026 comme jour de publication de la 27.0.0, quand les notes de version de Parallels datent la 27.0.0 du 25 août et la 27.0.1 du 1er septembre. Installer la 27.0.1, build 58670 couvre les deux lectures.
| Branche | Build la plus récente | Correction ? | Installable sur |
|---|---|---|---|
| 27 | 27.0.1 (58670), 01/09/2026 | Oui, selon JFrog | Apple Silicon, macOS Sonoma 14.7+ |
| 26 | 26.4.2 (57518), 08/09/2026 | Non, selon JFrog | Intel et Apple Silicon |
Parallels a retiré la prise en charge des Mac Intel en version 27, en suivant Apple : macOS 26 Tahoe est le dernier macOS pour Intel, macOS 27 est Apple Silicon seulement. Le 25 août, trois semaines avant la publication de la faille, Parallels écrivait aux utilisateurs Intel qu'ils pouvaient rester en version 26 et « s'attendre à de futures mises à jour de sécurité et de maintenance ».
C'est cette ligne-là qui ne contient pas le correctif : « les hôtes qui restent sur la branche 26.x, y compris la 26.4.2, n'ont pas ce changement de décompression », dit l'avis JFrog. Parallels n'a rien publié sur CVE-2026-90894 — sa politique est de ne pas commenter avant qu'un correctif ne soit public — et sa liste des correctifs de sécurité n'a pas été revue depuis mai 2025.
Vérifier en deux commandes
defaults read "/Applications/Parallels Desktop.app/Contents/Info" \
CFBundleShortVersionString
ls -l /var/run/prl_disp_service.socketÀ retenir
Une élévation locale paraît secondaire jusqu'à ce qu'on liste ce qui exécute du code en simple utilisateur sur un poste de développeur : une formule Homebrew malveillante, un script d'installation npm empoisonné, un job de build compromis, ou un compte faible sur un Mac partagé. Sur Intel, aucune build n'est décrite comme corrigée, et rien n'annonce de date.