Kwetsbaarheid in het pac-resolver NPM-pakket met 3 miljoen downloads per week

Het pac-resolver NPM-pakket, dat meer dan 3 miljoen downloads per week heeft, heeft een kwetsbaarheid (CVE-2021-23406) waardoor de JavaScript-code ervan kan worden uitgevoerd in de context van de applicatie bij het verzenden van HTTP-verzoeken van Node.js-projecten die ondersteuning voor automatische configuratiefunctie van de proxyserver.

Het pac-resolver-pakket parseert PAC-bestanden die een automatisch proxyconfiguratiescript bevatten. Het PAC-bestand bevat reguliere JavaScript-code met een FindProxyForURL-functie die de logica definieert voor het kiezen van een proxy, afhankelijk van de host en de gevraagde URL. De essentie van de kwetsbaarheid is dat om deze JavaScript-code in pac-resolver uit te voeren, de VM API uit Node.js is gebruikt, waarmee je JavaScript-code in een andere context van de V8-engine kunt uitvoeren.

De opgegeven API wordt in de documentatie expliciet gemarkeerd als niet bedoeld voor het uitvoeren van niet-vertrouwde code, omdat deze geen volledige isolatie biedt van de code die wordt uitgevoerd en toegang tot de oorspronkelijke context mogelijk maakt. Het probleem is opgelost in pac-resolver 5.0.0, die is verplaatst om de vm2-bibliotheek te gebruiken, die een hoger isolatieniveau biedt, geschikt voor het uitvoeren van niet-vertrouwde code.

Kwetsbaarheid in het pac-resolver NPM-pakket met 3 miljoen downloads per week

Bij gebruik van een kwetsbare versie van pac-resolver kan een aanvaller door de overdracht van een speciaal ontworpen PAC-bestand de uitvoering van zijn JavaScript-code bewerkstelligen in de context van de code van een project dat Node.js gebruikt, als dit project bibliotheken gebruikt die afhankelijkheden hebben met pac-resolver. De meest populaire van de problematische bibliotheken is Proxy-Agent, vermeld als een afhankelijkheid van 360 projecten, waaronder urllib, aws-cdk, mailgun.js en firebase-tools, met in totaal meer dan drie miljoen downloads per week.

Als een toepassing die afhankelijk is van de pac-resolver een PAC-bestand laadt dat wordt geleverd door een systeem dat het automatische configuratieprotocol WPAD proxy ondersteunt, kunnen aanvallers met toegang tot het lokale netwerk de distributie van proxy-instellingen via DHCP gebruiken om kwaadaardige PAC-bestanden in te voegen.

Bron: opennet.ru

Voeg een reactie