De vm2 JavaScript-bibliotheek heeft zojuist twee nieuwe patches uitgebracht om twee kritieke kwetsbaarheden te verhelpen, CVE-2023-29199 en CVE-2023-30547, beide beoordeeld 9.8 op het CVSS-scoresysteem. versies 3.9.16 en 3.9.17, respectievelijk, bevatten de fixes voor de bugs die een indringer in staat stellen om uit de sandbox te ontsnappen en code uit te voeren in de hostcontext.
Seung Hyun Lee, de beveiligingsonderzoeker die verantwoordelijk is voor het ontdekken en rapporteren van de gebreken, heeft ook PoC-exploits gepubliceerd. Dit komt niet lang na een andere ontsnappingsfout in de sandbox (CVE-2023-29017, CVSS 9.8) werd aangesproken. Oxeye-onderzoekers hebben een bijzonder ernstige kwetsbaarheid voor het uitvoeren van externe code geïdentificeerd (CVE-2022-36067, CVSS-score: 9.8) in vm2 afgelopen december, codenaam Sandbreak.
CVE-2023-29199
vm2 versies tot 3.9.15 zijn kwetsbaar voor een exploit waardoor bedreigingsactoren de `handleException()` logica voor opschoning van uitzonderingen. Deze bypass maakt het lekken van niet-opgeschoonde host-uitzonderingen mogelijk, die vervolgens de middelen bieden om uit de sandbox te ontsnappen en code uitvoeren in de gastcontext. Het probleem is verholpen in versie 3.9.16.
CVE-2023-30547
De versie `3.9.17` van `vm2` bevat een patch voor een kwetsbaarheid in het opschonen van uitzonderingen die aanwezig was in alle eerdere versies tot `3.9.16`. Door deze kwetsbaarheid konden aanvallers een niet-opgeschoonde host-uitzondering in `handleException()` om uit de sandbox te ontsnappen en willekeurige code uit te voeren in de hostcontext. Vanaf nu, er zijn geen alternatieve oplossingen, dus gebruikers worden sterk aangeraden om te upgraden naar de nieuwste versie.
Wat is vm2 JavaScript-bibliotheek?
vm2 is een populaire JavaScript-sandboxbibliotheek die door verschillende programma's wordt gebruikt, zoals IDE's, code-editors, en beveiligingshulpmiddelen, waarmee code gedeeltelijk op geïsoleerde Node.js-servers kan worden uitgevoerd, terwijl systeembronnen en externe gegevens worden beschermd tegen ongeoorloofde toegang.