Direct naar de inhoud
Software Supply Chain Security

Parallels Desktop kwetsbaarheid: root via lokale account

Parallels Desktop kwetsbaarheid

Parallels Desktop for Mac blijkt kwetsbaar voor een aanval waarbij een gewone, lokale gebruiker code kan uitvoeren met root-rechten. Dat maakt de Parallels Desktop kwetsbaarheid bijzonder relevant voor organisaties en thuisgebruikers: de stap naar maximale controle gebeurt niet via het netwerk, maar via code die al op de Mac draait.

Onderzoekers van JFrog brachten het probleem naar buiten en koppelden het aan CVE-2026-90894 (door JFrog “ParaShells” genoemd). In dit artikel zetten we de kern van de aanval, de impact en praktische maatregelen op een rij.

Hoe de Parallels Desktop kwetsbaarheid werkt

Parallels Desktop gebruikt virtuele machines binnen macOS. Daarbij draait een achtergrondservice met root-rechten: prl_disp_service. Die service is nodig voor taken zoals het voorbereiden van hostnetwerk en het uitpakken van virtuele machinepakketten.

De kwetsbaarheid zit in de Mac-zijde van de oplossing. Daardoor richt de dreiging zich primair op de host-Mac zelf, niet op de virtuele machines erbinnen.

1) Socket die voor iedereen bereikbaar is

Op het systeem dat JFrog onderzocht, was de socket waar de service naar luistert world-writable (lees: elke lokale toepassing kon verbinden). Vervolgens volgde een login-call (PrlSrv_LoginLocal) die volgens JFrog alleen de referenties gebruikt die de kernel voor de verbindende procescontext meldt. Een Parallels “handtekening” is niet nodig.

Het resultaat: ook een account zonder adminrechten kan de service bereiken zolang het systeem kwetsbaar is.

2) Kwetsbare bouw van een unpack-commando

Wanneer een gebruiker een virtuele machine appliance wil installeren, bouwt de service een unpack-commando in tekstvorm: tar -xf “%1” -C “%2”. Daarna splitst Parallels dit commando weer op in losse argumenten met Qt’s QProcess::splitCommand.

In de aanval kiest de caller onder meer het doelmap waar de nieuwe VM moet worden geplaatst. Dankzij een dubbele aanhalingsteken in die mapnaam kan een aanvaller de quote vroegtijdig sluiten. Wat daarna komt, wordt volgens JFrog gezien als extra opties voor tar, in plaats van als onderdeel van een pad.

3) Tar als root geeft de aanvaller root

Met de optie die JFrog gebruikte, –use-compress-program, kan macOS tar worden misleid om het archief eerst door te geven aan een ander programma. Omdat tar in deze context als root draait, draait het doorgegeven programma ook als root.

In de demo gebruikte JFrog een testscript dat een passwordless sudo-regel aanmaakte en vervolgens een root-shell opende.

Belangrijk: dit is geen netwerkexploit

De aanval vereist dat er code al op dezelfde machine draait onder een normale gebruiker. Met andere woorden: de Parallels Desktop kwetsbaarheid is niet bedoeld voor misbruik “van buitenaf” over het netwerk.

Dat maakt het toch ernstig. Want in realistische scenario’s kan schadelijke code binnenkomen via bijvoorbeeld:

  • een malafide Homebrew formula,
  • een geïnjecteerd script bij een npm-installatie,
  • een gecompromitteerde build job,
  • of een zwak account op een gedeelde trainings- of labcomputer.

Is die stap eenmaal gelukt, dan kan de lokale code misbruik maken van de kwetsbare Parallels componenten om naar root door te groeien.

Welke versies zijn (volgens JFrog) kwetsbaar en wat is de fix?

De fix zit volgens JFrog in Parallels Desktop 27. In de advisory van JFrog wordt alles onder 27.0.0 als beïnvloed beschreven, terwijl de writeup 27.0.0 als gerepareerde versie noemt. Tegelijkertijd zet het CVE-record 27.0.0 op “unaffected”.

De publicatiedata lijken niet helemaal consistent: JFrog stelt dat de fix op 1 september 2026 zou zijn uitgerold, terwijl Parallels release notes 27.0.0 op 25 augustus 2026 plaatsen. JFrog concludeert uiteindelijk dat het installeren van de nieuwste release in de lijn helpt: 27.0.1, build 58670, verscheen na beide data.

Omdat Parallels geen aparte publieke verklaring over de CVE deelde, blijft de precieze “welke build bevat precies de wijziging”-vraag lastig. Als vuistregel geldt: ga naar een versie uit de 27-lijn en verifieer waar mogelijk of je systeem de relevante wijziging bevat.

Waarom Intel-gebruikers extra aandacht nodig hebben

Een cruciale complicatie is hardware. Parallels Desktop 27 heeft ondersteuning nodig voor Apple silicon. Intel Macs kunnen 27 niet installeren, omdat Parallels de Intel-ondersteuning uit die major release heeft verwijderd.

Voor Intelgebruikers geldt daarom: blijf op Parallels Desktop 26. Parallels gaf bovendien aan dat Intel-machines op 26 blijven met “future security and maintenance updates”. Alleen: JFrog stelt dat de specifieke extract-wijziging die de kwetsbaarheid fixeert niet in de 26.x-lijn zit.

Volgens JFrog ontbreken die veranderingen ook in latere 26-builds die zij in hun analyse benoemen (zoals 26.4.0 en de situatie er rond). Er is geen door Parallels gepubliceerde einddatum of mapping per build die dit expliciet afdekt.

Zo check je of jouw Mac is blootgesteld

Jfrog beschrijft twee read-only commando’s om blootstelling te signaleren. Met andere woorden: je ziet of het systeem “in scope” is, maar je krijgt geen bewijs of iemand daadwerkelijk misbruik heeft gemaakt.

1) Controleer de Parallels versienaam

Gebruik:

defaults read "/Applications/Parallels Desktop.app/Contents/Info" CFBundleShortVersionString

2) Check of de dispatcher-socket publiek openstaat

Gebruik:

ls -l /var/run/prl_disp_service.socket

Als je ziet dat de socket permissies heeft zoals srwxrwxrwx op een build rond 26.4.0, dan adviseert JFrog dit als blootgesteld te behandelen totdat je een patched build kunt bevestigen.

Wat kun je nu doen?

Omdat de aanval lokale code nodig heeft, draait de mitigatie om het verminderen van de kans dat een aanvaller ooit een foothold krijgt én om het verkleinen van de mogelijkheden zodra zo’n code er eenmaal is.

Beperk lokale toegang

JFrog adviseert om tot alle endpoints op een vaste versie staan, te beperken wie lokaal mag inloggen. Denk aan het aanscherpen van accountbeheer, het beperken van machtigingen en het voorkomen van “permissies voor iedereen”-achtige situaties binnen je organisatie.

Inventariseer alle Parallels installaties

Maak een overzicht van alle Macs met Parallels Desktop erop. Dat klinkt vanzelfsprekend, maar in praktijk blijkt juist dit vaak het meest tijdrovende onderdeel.

Pas updatebeleid aan in device management

Voor beheeromgevingen is er een praktische valkuil: een beleid dat automatisch nieuwe major versions installeert, zal proberen om Parallels Desktop 27 op Intel Macs te zetten—en dat zal falen. Parallels adviseert daarom Intel-machines op versie 26 te houden.

Controleer dus je “version rule”-instellingen in je tooling. Bepaal daarna per platform (Apple silicon vs. Intel) welk patchpad je volgt.

Detectie en incidentbrede aandacht

Er is nog een belangrijk punt: in het gepubliceerde materiaal staat niet ondubbelzinnig of een productupdate een aanval die al succesvol was volledig ongedaan maakt. JFrog merkt op dat een aanvaller met root toegang een blijvend spoor kan creëren via launchd. Met andere woorden: zelfs als je daarna updatet, kan er nog een persistent mechanisme actief zijn.

Daarom is het verstandig om, wanneer je blootstelling vermoedt of onverklaarde root-achtige activiteiten ziet, ook breder te kijken naar persistence en verdachte services.

Waarom deze kwetsbaarheid past in de bredere dreiging

De Parallels Desktop kwetsbaarheid is geen geïsoleerd Mac-probleem. Ze laat zien hoe systemen met een “lokale component” en een “root service” kwetsbaar kunnen worden zodra een aanvaller al binnen is.

Dat past bij een patroon dat we vaker zien: niet alleen de eerste besmetting telt, maar vooral wat er daarna kan gebeuren. Als een endpoint al aangetast is (bijvoorbeeld door supply-chain varianten zoals afhankelijkheidsinstallaties of buildprocessen), kan een volgende stap richting privilege escalation de schade exponentieel vergroten.

Wil je meer context over hoe aanvallen op endpoints en supply-chain routes kunnen leiden tot toegang en impact? Lees dan ook eens hoe toegang misbruikt kan worden via AI coding assistants of bekijk waarom losse beveiligingschecks onvoldoende zijn bij attack chains.

Conclusie

De Parallels Desktop kwetsbaarheid (CVE-2026-90894) maakt duidelijk dat “lokale” zwaktes toch grote impact kunnen hebben: een niet-admin lokaal account kan code als root uitvoeren wanneer de service-socket en extract-template aan de kwetsbare voorwaarden voldoen.

De fix zit volgens JFrog in de Parallels Desktop 27-lijn. Intelgebruikers kunnen 27 niet installeren, waardoor aanvullende maatregelen zoals streng accountbeleid, endpoint-inventarisatie en het controleren van blootstelling extra belangrijk worden. Tot alle systemen aantoonbaar gepatcht zijn, geldt: minimaliseer lokale toegang en wees alert op persistence—zeker als er aanwijzingen zijn dat een aanvaller al binnen was.

Bron: https://thehackernews.com/2026/09/parallels-desktop-flaw-lets-non-admin.html