Gemiddeld · 6.3 Node.js & npm GHSA-647f-g98j-qq25 CVE-2026-92937 GHSA-98xx-8mx4-x7cm CVE-2026-92941
vm2 Sandbox: Acht Nieuwe Kwetsbaarheden Maken Ontsnapping naar Hostproces en RCE Mogelijk
vm2 3.11.7 verhelpt acht afzonderlijke kwetsbaarheden waarmee aanvallers uit de sandbox kunnen ontsnappen, waarvan meerdere willekeurige codeuitvoering op het hostproces mogelijk maken. Alle versies tot en met 3.11.6 moeten direct worden geüpgraded.
- GitHub Advisory Database database 1w geleden · bekijk ↗
- NVD (NIST) database 3w geleden · bekijk ↗
- GitHub Advisory Database database 1w geleden · bekijk ↗
- NVD (NIST) database 3w geleden · bekijk ↗
- GitHub Advisory Database database 1w geleden · bekijk ↗
- NVD (NIST) database 3w geleden · bekijk ↗
- GitHub Advisory Database database 1w geleden · bekijk ↗
- NVD (NIST) database 3w geleden · bekijk ↗
- GitHub Advisory Database database 1w geleden · bekijk ↗
- NVD (NIST) database 3w geleden · bekijk ↗
- GitHub Advisory Database database 1w geleden · bekijk ↗
- NVD (NIST) database 3w geleden · bekijk ↗
- GitHub Advisory Database database 1w geleden · bekijk ↗
- NVD (NIST) database 3w geleden · bekijk ↗
- GitHub Advisory Database database 1w geleden · bekijk ↗
- NVD (NIST) database 3w geleden · bekijk ↗
AI-samenvatting
Het npm-pakket vm2, dat wordt gebruikt om niet-vertrouwde JavaScript-code geïsoleerd uit te voeren binnen Node.js-applicaties, bevat acht nieuw gepubliceerde kwetsbaarheden die versies tot en met 3.11.6 treffen. De problemen variëren van onvolledige fixes voor eerdere sandbox-escape-bugs tot nieuw ontdekte omzeilingen rond Promise-afhandeling, manipulatie van de TLS-vertrouwensopslag, diefstal van HTTPS-inloggegevens, het laden van native code via de crypto-module, en een CLI-tool die helemaal geen sandbox-isolatie biedt. Alle acht problemen zijn verholpen in vm2 3.11.7. Meerdere van deze kwetsbaarheden hebben een maximale of bijna-maximale CVSS-score en maken volledige compromittering van het host-Node.js-proces mogelijk vanuit code die draait binnen wat verondersteld wordt een geïsoleerde sandbox te zijn.
Meerdere sandbox-escape-kwetsbaarheden gepubliceerd voor vm2
Er zijn acht afzonderlijke kwetsbaarheden gepubliceerd voor de vm2-sandboxbibliotheek, allemaal van toepassing op versies tot en met 3.11.6 en verholpen in 3.11.7: - CVE-2026-92937 (GHSA-647f-g98j-qq25, CVSS 10): Een onvolledige fix voor een eerdere sandbox-escape. De bridge-code die afgewezen host-Promise-waarden saneert, controleert alleen het directe aanroepdoel, waardoor het registreren van een rejection-handler via Function.prototype.call/.apply-indirectie de sanering omzeilt. Hierdoor kan een hostobject (zoals het process-object) aan sandboxcode worden blootgesteld, met als gevolg willekeurige commando-uitvoering met hostrechten. - CVE-2026-92935 (GHSA-8hr7-r645-pc6w, CVSS 9,5): De nesting-controle van de NodeVM-constructor behandelt een array-vormige `require`-optie ten onrechte als geldige configuratie, waardoor een aanvaller de host-vm2-module zelf kan requiren en een geneste NodeVM kan aanmaken met een zelfgekozen lijst van toegestane builtins (zoals child_process), waardoor de sandbox volledig wordt omzeild. - CVE-2026-92944 (GHSA-27g9-p43v-cw3v, CVSS 9,3): Op Node.js 26 omzeilt Promise.prototype.finally() de wrapper-beveiligingen van vm2 door een verouderd V8-beschermingsmechanisme, waardoor een door de aanvaller gecontroleerde Promise toegang krijgt tot de host-Function-constructor en het process-object. - CVE-2026-92939 (GHSA-46pr-c5wc-xffx, CVSS 9,4): Wanneer de crypto-builtin is toegestaan in een NodeVM-sandbox, kan sandboxcode crypto.setEngine() aanroepen met een pad naar een door de aanvaller aangeleverde native library, waardoor de OS-loader van de host native code uitvoert in het hostproces nog vóór de validatie van de engine. - CVE-2026-92950 (GHSA-jxxv-8r27-vm4p, CVSS 9,3): De vm2 CLI-tool biedt geen echte sandbox-isolatie. Een kwaadaardig script kan require(__filename) gebruiken om zichzelf opnieuw uit te voeren in de host-realm, met toegang tot hostmodules zoals fs en child_process. - CVE-2026-92952 (GHSA-jf8q-945g-9q4c, CVSS 8,9): Een onvolledige fix voor eerdere problemen met symboolfiltering. De filters missen twee geregistreerde Node.js-streamsymbolen (nodejs.stream.disturbed en nodejs.stream.errored) die op nieuwere Node.js-versies worden blootgesteld op host-WebStream-prototypes, waardoor sandboxcode de voor de host zichtbare streamstatus kan corrumperen. Dit probleem biedt geen codeuitvoering op de host. - CVE-2026-92941 (GHSA-98xx-8mx4-x7cm, CVSS 10): Een NodeVM-sandbox met toegang tot de tls- en url-builtins kan tls.setDefaultCACertificates() aanroepen om de vertrouwde certificeringsinstanties van het hostproces te vervangen, waardoor andere HTTPS-clients op de host door een aanvaller gecontroleerde TLS-certificaten kunnen accepteren. - CVE-2026-92940 (GHSA-h85j-hv3c-qfgq, CVSS 10): Wanneer een NodeVM is geconfigureerd om require('https') toe te staan, kan sandboxcode een listener registreren op de gedeelde https.globalAgent-verbindingspool van de host en live HTTP-verzoeken van de host onderscheppen, waarbij Authorization-headers en response-bodies worden gelezen en gestolen inloggegevens worden hergebruikt.
Oorzaken: onvolledige sandboxgrenzen en gelekte hostobjecten
De kwetsbaarheden hebben een gemeenschappelijk thema: de sandbox van vm2 vertrouwt op proxies, allowlists en identiteitscontroles om sandboxcode te scheiden van de host-Node.js-realm, maar bij meerdere van deze mechanismen zitten gaten. Sommige zijn onvolledige fixes voor eerder gepatchte problemen (CVE-2026-92937 en CVE-2026-92952), waarbij de oorspronkelijke fix het directe aanvalspad afhandelde maar een gelijkwaardig indirect pad miste (functie-indirectie, of extra streamsymbolen). Andere komen voort uit builtin-modules (crypto, tls, https) die aan de sandbox worden blootgesteld met onvoldoende beperking van de operaties die ze toestaan, waardoor sandboxcode hostniveau-status kan bereiken of het laden van native code kan triggeren. Eén probleem (CVE-2026-92935) is een logische fout in optievalidatie die een array ten onrechte als geldig configuratieobject classificeert. Het CLI-probleem (CVE-2026-92950) weerspiegelt dat de vm2-commandoregeltool nooit is ontworpen om dezelfde isolatiegaranties te bieden als de sandbox-API van de bibliotheek.
Waarom dit belangrijk is
vm2 is specifiek ontworpen om niet-vertrouwde JavaScript veilig uit te voeren. Deze kwetsbaarheden ondermijnen die kerngarantie: meerdere maken het mogelijk dat code die binnen de sandbox draait, willekeurige commando's uitvoert met de volledige rechten van het host-Node.js-proces, of inloggegevens steelt en TLS-vertrouwensbeslissingen manipuleert die de hostapplicatie als geheel beïnvloeden. Vier van de acht problemen (CVE-2026-92937, CVE-2026-92941, CVE-2026-92940 en deels CVE-2026-92935) hebben de maximale of bijna-maximale CVSS-basisscore van 10 of 9,5, wat wijst op via het netwerk exploiteerbare paden met lage complexiteit naar volledige compromittering. Applicaties die vm2 inzetten om plugins, gebruikersscripts of andere niet-vertrouwde code uit te voeren, zijn direct kwetsbaar wanneer aanvallers code kunnen aanleveren die binnen de sandbox draait.
Wie wordt getroffen
Elke applicatie die het vm2-pakket (npm-ecosysteem) inzet om niet-vertrouwde of semi-vertrouwde JavaScript uit te voeren — bijvoorbeeld pluginsystemen, code-uitvoeringsdiensten of NodeVM-gebaseerd laden van externe modules — is getroffen wanneer een versie tot en met 3.11.6 wordt gebruikt. De exploiteerbaarheid van afzonderlijke problemen hangt sterk af van welke builtins en sandboxopties de inzettende applicatie heeft ingeschakeld: blootstelling van crypto is nodig voor CVE-2026-92939, blootstelling van tls en url voor CVE-2026-92941, blootstelling van https voor CVE-2026-92940, nesting in combinatie met een array-vormige require-optie voor CVE-2026-92935, en een host-realm Promise die naar de sandbox wordt gebrugd voor CVE-2026-92937. CVE-2026-92950 treft specifiek gebruikers van de vm2 CLI-tool, en CVE-2026-92952 vereist blootstelling van host-WebStream-objecten en de stream/web-module.
Getroffen versies
De getroffen versiebereiken variëren per probleem: CVE-2026-92937 treft versie 3.11.6; CVE-2026-92941, CVE-2026-92940 en CVE-2026-92939 treffen versies 3.11.3 tot en met 3.11.6; CVE-2026-92935 en CVE-2026-92952 treffen versies 3.11.4 tot en met 3.11.6; CVE-2026-92944 treft versies 3.10.2 tot en met 3.11.6; en CVE-2026-92950 treft alle versies tot en met 3.11.6. Alle acht problemen zijn opgelost in vm2 3.11.7.
Fixes en mitigatie
Alle acht kwetsbaarheden zijn verholpen in vm2-versie 3.11.7. Organisaties dienen zo snel mogelijk naar deze versie te upgraden. Waar een directe upgrade niet mogelijk is, kan het beperken van de set beschikbare builtin-modules (crypto, tls, url, https) en sandboxopties (nesting, require) voor NodeVM-instanties de blootstelling aan sommige afzonderlijke problemen verminderen, maar dit pakt niet elke onderliggende oorzaak aan (met name de omzeiling van de Promise-sanering in CVE-2026-92937 en het Node.js-26-V8-beschermingsprobleem in CVE-2026-92944 blijven dan onopgelost).
Aanbevolen actie
Upgrade vm2 naar versie 3.11.7 in alle applicaties en diensten die hiervan afhankelijk zijn, met prioriteit voor systemen die de crypto-, tls-, https- of url-builtins blootstellen, nesting met aangepaste require-configuraties toestaan, of de vm2 CLI-tool gebruiken. Controleer na het upgraden welke builtin-modules en sandboxopties daadwerkelijk nodig zijn voor uw gebruiksscenario en schakel alles uit wat niet strikt noodzakelijk is, als extra verdedigingslaag tegen toekomstige problemen met de sandboxgrens.
PatchBriefing-score
6.3 / 10 · Gemiddeld
Officiële CVSS: 10.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Waarom deze score
De patchwire-scores voor deze problemen liggen tussen 5,1 en 6,3, voornamelijk bepaald door CVSS-basisscores tussen 8,9 en 10. Meerdere problemen (CVE-2026-92937, CVE-2026-92941, CVE-2026-92940, CVE-2026-92935, CVE-2026-92952) zijn gemarkeerd als ongeauthenticeerd en op afstand uitvoerbaar zonder gebruikersinteractie, wat een bescheiden extra bijdrage aan de score levert. Geen van de acht kwetsbaarheden staat momenteel geregistreerd als actief uitgebuit, heeft bevestigde publieke exploitcode, of komt voor in ransomware-campagnes, waardoor de totale patchwire-scores in het matige bereik blijven ondanks hoge CVSS-basisscores. Voor alle problemen is een fix beschikbaar (vm2 3.11.7), wat ook de bijdrage van de factor 'geen fix beschikbaar' beperkt.
Getroffen versies
- vm2 = 3.11.6
- kwetsbaar
- ≥ 3.11.7
- gepatcht
- vm2 >= 3.11.3, <= 3.11.6
- kwetsbaar
- ≥ 3.11.7
- gepatcht
- vm2 >= 3.11.3, <= 3.11.6
- kwetsbaar
- ≥ 3.11.7
- gepatcht
- vm2 >= 3.11.4, <= 3.11.6
- kwetsbaar
- ≥ 3.11.7
- gepatcht
- vm2 >= 3.10.2, <= 3.11.6
- kwetsbaar
- ≥ 3.11.7
- gepatcht
- vm2 >= 3.11.3, <= 3.11.6
- kwetsbaar
- ≥ 3.11.7
- gepatcht
- vm2 >= 3.11.4, <= 3.11.6
- kwetsbaar
- ≥ 3.11.7
- gepatcht
- vm2 <= 3.11.6
- kwetsbaar
- ≥ 3.11.7
- gepatcht
Gemelde oplossingen
Alle acht kwetsbaarheden zijn verholpen in vm2-versie 3.11.7. Organisaties dienen zo snel mogelijk naar deze versie te upgraden. Waar een directe upgrade niet mogelijk is, kan het beperken van de set beschikbare builtin-modules (crypto, tls, url, https) en sandboxopties (nesting, require) voor NodeVM-instanties de blootstelling aan sommige afzonderlijke problemen verminderen, maar dit pakt niet elke onderliggende oorzaak aan (met name de omzeiling van de Promise-sanering in CVE-2026-92937 en het Node.js-26-V8-beschermingsprobleem in CVE-2026-92944 blijven dan onopgelost).
Hoe dit rapport is gemaakt
16 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.
-
GitHub Advisory Database database
-
NVD (NIST) database
-
GitHub Advisory Database database
-
NVD (NIST) database
-
GitHub Advisory Database database
-
NVD (NIST) database
Revisiegeschiedenis
- Gepubliceerd
- Gegenereerd
Gerelateerd
Relevante veranderingen voor de stacks die je volgt.
Kies je stacks, onderwerpen en eventueel WordPress-plugins. Om 07:00 CEST worden passende meldingen en releases uit de rapportageperiode in één e-mail gegroepeerd.
✓ Kies stacks en onderwerpen✓ Pas voorkeuren altijd aan✓ Eén gebundelde e-mail