Sårbarhed i NPM-pakken pac-resolver, der har 3 millioner downloads om ugen

I NPM-pakken pac-resolver, der har over 3 millioner downloads om ugen, er der identificeret en sårbarhed (CVE-2021-23406), der tillader udførelse af egen JavaScript-kode i konteksten af applikationen ved at sende HTTP-anmodninger fra Node.js-projekter, der understøtter automatisk proxykonfiguration.

Pakken pac-resolver parser PAC-filer, der indeholder et script til automatisk konfiguration af proxy. PAC-filen indeholder almindelig JavaScript-kode med funktionen FindProxyForURL, der definerer logikken for valg af proxy baseret på vært og den forespurgte URL. Sårbarheden består i, at denne JavaScript-kode i pac-resolver blev udført ved hjælp af Node.js API'et VM, der tillader udførelse af JavaScript-kode i en anden V8-motor kontekst.

Den nævnte API er tydeligt markeret i dokumentationen som ikke beregnet til at køre upålidelig kode, da den ikke giver fuld isolation af den kørende kode og tillader adgang til den oprindelige kontekst. Problemet er løst i version pac-resolver 5.0.0, som er blevet opdateret til at bruge biblioteket vm2, der giver en højere grad af isolation, der er egnet til at køre upålidelig kode.

Sårbarhed i NPM-pakken pac-resolver, der har 3 millioner downloads om ugen

Ved brug af den sårbare version af pac-resolver kan en angreb udføre sin JavaScript-kode i konteksten af koden fra et projekt, der bruger Node.js, ved at overføre en specielt formateret PAC-fil, hvis dette projekt bruger biblioteker, der er afhængige af pac-resolver. Den mest populære af de problematiske biblioteker er Proxy-Agent, nævnt i afhængighederne hos 360 projekter, inklusive urllib, aws-cdk, mailgun.js og firebase-tools, som samlet set har mere end tre millioner downloads om ugen.

Hvis en applikation, der er afhængig af pac-resolver, indlæser en PAC-fil, der leveres af et system, der understøtter protokollen til automatisk proxykonfiguration WPAD, kan angribere med adgang til det lokale netværk udnytte distributionen af proxyindstillinger via DHCP til at indsætte ondsindede PAC-filer.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster