Sårbarhet i pac-resolver NPM-paketet med 3 miljoner nedladdningar per vecka

Pac-resolver NPM-paketet, som har över 3 miljoner nedladdningar per vecka, har en sårbarhet (CVE-2021-23406) som gör att dess JavaScript-kod kan köras i applikationens sammanhang när HTTP-förfrågningar skickas från Node.js-projekt som stöder proxyserverns automatiska konfigurationsfunktion.

Pac-resolver-paketet analyserar PAC-filer som inkluderar ett automatiskt proxykonfigurationsskript. PAC-filen innehåller vanlig JavaScript-kod med en FindProxyForURL-funktion som definierar logiken för att välja en proxy beroende på värden och den begärda URL:en. Kärnan i sårbarheten är att för att köra denna JavaScript-kod i pac-resolver användes VM API som tillhandahålls i Node.js, vilket gör att du kan köra JavaScript-kod i en annan kontext av V8-motorn.

Det angivna API:t är uttryckligen markerat i dokumentationen som inte avsett för att köra otillförlitlig kod, eftersom det inte ger fullständig isolering av koden som körs och ger tillgång till det ursprungliga sammanhanget. Problemet har åtgärdats i pac-resolver 5.0.0, som har flyttats till att använda vm2-biblioteket, vilket ger en högre nivå av isolering som är lämplig för att köra opålitlig kod.

Sårbarhet i pac-resolver NPM-paketet med 3 miljoner nedladdningar per vecka

När du använder en sårbar version av pac-resolver kan en angripare genom överföring av en specialdesignad PAC-fil uppnå exekvering av sin JavaScript-kod i samband med koden för ett projekt som använder Node.js, om detta projekt använder bibliotek som har beroenden med pac-resolver. Det mest populära av de problematiska biblioteken är Proxy-Agent, listat som ett beroende av 360 projekt, inklusive urllib, aws-cdk, mailgun.js och firebase-tools, totalt mer än tre miljoner nedladdningar per vecka.

Om ett program som har beroenden av pac-resolver laddar en PAC-fil som tillhandahålls av ett system som stöder det automatiska konfigurationsprotokollet för WPAD proxy, kan angripare med tillgång till det lokala nätverket använda distributionen av proxyinställningar via DHCP för att infoga skadliga PAC-filer.

Källa: opennet.ru

Lägg en kommentar