Sårbarhet i pac-resolver NPM-pakken med 3 millioner nedlastinger per uke

Pac-resolver NPM-pakken, som har over 3 millioner nedlastinger per uke, har en sårbarhet (CVE-2021-23406) som gjør at JavaScript-koden kan kjøres i sammenheng med applikasjonen når du sender HTTP-forespørsler fra Node.js-prosjekter som støtter automatisk konfigurasjonsfunksjon for proxy-server.

Pac-resolver-pakken analyserer PAC-filer som inkluderer et automatisk proxy-konfigurasjonsskript. PAC-filen inneholder vanlig JavaScript-kode med en FindProxyForURL-funksjon som definerer logikken for å velge en proxy avhengig av verten og den forespurte URL-en. Essensen av sårbarheten er at for å kjøre denne JavaScript-koden i pac-resolver, ble VM API gitt i Node.js brukt, som lar deg kjøre JavaScript-kode i en annen kontekst av V8-motoren.

Det spesifiserte API-et er eksplisitt merket i dokumentasjonen som ikke ment for å kjøre uklarert kode, da det ikke gir fullstendig isolasjon av koden som kjøres og gir tilgang til den opprinnelige konteksten. Problemet har blitt løst i pac-resolver 5.0.0, som har blitt flyttet til å bruke vm2-biblioteket, som gir et høyere isolasjonsnivå som er egnet for å kjøre uklarert kode.

Sårbarhet i pac-resolver NPM-pakken med 3 millioner nedlastinger per uke

Når du bruker en sårbar versjon av pac-resolver, kan en angriper gjennom overføring av en spesialdesignet PAC-fil oppnå kjøring av JavaScript-koden sin i konteksten av koden til et prosjekt som bruker Node.js, hvis dette prosjektet bruker biblioteker som har avhengigheter med pac-resolver. Det mest populære av de problematiske bibliotekene er Proxy-Agent, oppført som en avhengighet av 360 prosjekter, inkludert urllib, aws-cdk, mailgun.js og firebase-tools, totalt mer enn tre millioner nedlastinger per uke.

Hvis en applikasjon som har avhengigheter av pac-resolver laster en PAC-fil levert av et system som støtter den automatiske konfigurasjonsprotokollen for WPAD proxy, kan angripere med tilgang til det lokale nettverket bruke distribusjonen av proxy-innstillinger via DHCP til å sette inn skadelige PAC-filer.

Kilde: opennet.ru

Legg til en kommentar