Sicherheitslücke im NPM-Paket pac-resolver mit 3 Millionen Downloads pro Woche

Das NPM-Paket pac-resolver, das über 3 Millionen Downloads pro Woche aufweist, weist eine Schwachstelle (CVE-2021-23406) auf, die es ermöglicht, dass sein JavaScript-Code im Kontext der Anwendung ausgeführt wird, wenn HTTP-Anfragen von Node.js-Projekten gesendet werden Unterstützt die automatische Konfigurationsfunktion des Proxyservers.

Das Paket pac-resolver analysiert PAC-Dateien, die ein automatisches Proxy-Konfigurationsskript enthalten. Die PAC-Datei enthält regulären JavaScript-Code mit einer FindProxyForURL-Funktion, die die Logik für die Auswahl eines Proxys abhängig vom Host und der angeforderten URL definiert. Der Kern der Schwachstelle besteht darin, dass zum Ausführen dieses JavaScript-Codes in pac-resolver die in Node.js bereitgestellte VM-API verwendet wurde, die es Ihnen ermöglicht, JavaScript-Code in einem anderen Kontext der V8-Engine auszuführen.

Die angegebene API wird in der Dokumentation ausdrücklich als nicht für die Ausführung von nicht vertrauenswürdigem Code vorgesehen gekennzeichnet, da sie keine vollständige Isolierung des ausgeführten Codes bietet und den Zugriff auf den ursprünglichen Kontext ermöglicht. Das Problem wurde in pac-resolver 5.0.0 behoben, der auf die Verwendung der vm2-Bibliothek umgestellt wurde, die eine höhere Isolationsstufe bietet, die für die Ausführung von nicht vertrauenswürdigem Code geeignet ist.

Sicherheitslücke im NPM-Paket pac-resolver mit 3 Millionen Downloads pro Woche

Bei Verwendung einer anfälligen Version von Pac-Resolver kann ein Angreifer durch die Übertragung einer speziell entwickelten PAC-Datei die Ausführung seines JavaScript-Codes im Kontext des Codes eines Projekts mithilfe von Node.js erreichen, wenn dieses Projekt Bibliotheken verwendet, die Abhängigkeiten aufweisen mit Pac-Resolver. Die beliebteste der problematischen Bibliotheken ist Proxy-Agent, die als Abhängigkeit von 360-Projekten aufgeführt ist, darunter urllib, aws-cdk, mailgun.js und firebase-tools, mit insgesamt mehr als drei Millionen Downloads pro Woche.

Wenn eine Anwendung, die von pac-resolver abhängig ist, eine PAC-Datei lädt, die von einem System bereitgestellt wird, das das automatische Konfigurationsprotokoll des WPAD-Proxys unterstützt, können Angreifer mit Zugriff auf das lokale Netzwerk die Verteilung der Proxy-Einstellungen über DHCP nutzen, um schädliche PAC-Dateien einzuschleusen.

Source: opennet.ru

Kommentar hinzufügen