Vulnerabilitatea pachetului pac-resolver NPM cu 3 milioane de descărcări pe săptămână

Pachetul pac-resolver NPM, care are peste 3 milioane de descărcări pe săptămână, are o vulnerabilitate (CVE-2021-23406) care permite executarea codului său JavaScript în contextul aplicației atunci când se trimit solicitări HTTP de la proiectele Node.js care acceptă funcția de configurare automată a serverului proxy.

Pachetul pac-resolver analizează fișierele PAC care includ un script de configurare automată a proxy-ului. Fișierul PAC conține cod JavaScript obișnuit cu o funcție FindProxyForURL care definește logica pentru alegerea unui proxy în funcție de gazdă și URL-ul solicitat. Esența vulnerabilității este că pentru a executa acest cod JavaScript în pac-resolver, a fost folosit API-ul VM furnizat în Node.js, care vă permite să executați cod JavaScript într-un context diferit al motorului V8.

API-ul specificat este marcat în mod explicit în documentație ca nedestinat rulării codului neîncrezat, deoarece nu oferă izolarea completă a codului rulat și permite accesul la contextul original. Problema a fost rezolvată în pac-resolver 5.0.0, care a fost mutat pentru a utiliza biblioteca vm2, care oferă un nivel mai ridicat de izolare potrivit pentru rularea codului neîncrezat.

Vulnerabilitatea pachetului pac-resolver NPM cu 3 milioane de descărcări pe săptămână

Când folosește o versiune vulnerabilă a pac-resolver, un atacator prin transmiterea unui fișier PAC special conceput poate realiza execuția codului său JavaScript în contextul codului unui proiect folosind Node.js, dacă acest proiect folosește biblioteci care au dependențe. cu pac-resolver. Cea mai populară dintre bibliotecile problematice este Proxy-Agent, listată ca dependență de proiecte 360, inclusiv urllib, aws-cdk, mailgun.js și firebase-tools, însumând peste trei milioane de descărcări pe săptămână.

Dacă o aplicație care are dependențe de pac-resolver încarcă un fișier PAC furnizat de un sistem care acceptă protocolul de configurare automată proxy WPAD, atunci atacatorii cu acces la rețeaua locală pot folosi distribuirea setărilor proxy prin DHCP pentru a insera fișiere PAC rău intenționate.

Sursa: opennet.ru

Adauga un comentariu