Vulnerability in NPM package pac-resolver, which has 3 million downloads per week

W pakiecie NPM pac-resolver, który rejestruje ponad 3 miliony pobrań tygodniowo, zidentyfikowano lukę (CVE-2021-23406), która umożliwia wykonanie własnego kodu JavaScript w kontekście aplikacji podczas wysyłania zapytań HTTP z projektów Node.js wspierających funkcję automatycznego konfigurowania serwera proxy.

Pakiet pac-resolver przetwarza pliki PAC, które zawierają skrypt automatycznej konfiguracji serwera proxy. Plik PAC zawiera standardowy kod JavaScript z funkcją FindProxyForURL, która definiuje logikę wyboru proxy w zależności od hosta i żądanej URL. Istota luki polega na tym, że do wykonania tego kodu JavaScript w pac-resolver wykorzystywano dostarczany przez API Node.js VM, co pozwala na uruchomienie kodu JavaScript w innym kontekście silnika V8.

Wskazane API jest wyraźnie oznaczone w dokumentacji jako nieprzeznaczone do uruchamiania kodu, który nie jest godny zaufania, ponieważ nie zapewnia pełnej izolacji uruchamianego kodu i pozwala na dostęp do pierwotnego kontekstu. Problem został rozwiązany w wydaniu pac-resolver 5.0.0, które przeszło na użycie biblioteki vm2, zapewniającej wyższy poziom izolacji, odpowiedni do uruchamiania kodu niegodnego zaufania.

Vulnerability in NPM package pac-resolver, which has 3 million downloads per week

Przy użyciu podatnej wersji pac-resolver atakujący dzięki przesłaniu specjalnie przygotowanego pliku PAC może osiągnąć wykonanie swojego kodu JavaScript w kontekście kodu projektu wykorzystującego Node.js, jeżeli w danym projekcie używane są biblioteki związane zależnościami z pac-resolver. Najbardziej popularną z problematycznych bibliotek jest Proxy-Agent, wymieniony w zależnościach 360 projektów, w tym urllib, aws-cdk, mailgun.js i firebase-tools, łącznie z ponad trzema milionami pobrań tygodniowo.

Jeżeli aplikacja związana zależnościami z pac-resolver ładuje plik PAC dostarczany przez system wspierający protokół automatycznego konfigurowania proxy WPAD, to w celu podstawienia złośliwych plików PAC, przestępcy mający dostęp do sieci lokalnej mogą skorzystać z rozprzestrzeniania ustawień proxy za pośrednictwem DHCP.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster