Eine Sicherheitsanfälligkeit im NPM-Paket pac-resolver, das 3 Millionen Downloads pro Woche hat.

Im NPM-Paket pac-resolver, das über 3 Millionen Downloads pro Woche verzeichnet, wurde eine Sicherheitsanfälligkeit (CVE-2021-23406) entdeckt, die es ermöglicht, eigenen JavaScript-Code im Kontext der Anwendung auszuführen, wenn HTTP-Anfragen aus Node.js-Projekten gesendet werden, die die Funktion zur automatischen Proxy-Konfiguration unterstützen.

Das Paket pac-resolver analysiert PAC-Dateien, die ein Skript zur automatischen Proxy-Konfiguration enthalten. Die PAC-Datei enthält normalen JavaScript-Code mit der Funktion FindProxyForURL, die die Logik zur Auswahl des Proxys basierend auf dem Host und der angeforderten URL definiert. Der Kern der Schwachstelle liegt darin, dass zur Ausführung dieses JavaScript-Codes im pac-resolver die im Node.js API VM bereitgestellte Funktion verwendet wurde, die es ermöglicht, JavaScript-Code in einem anderen Kontext der V8-Engine auszuführen.

Die angegebene API ist 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 der Version pac-resolver 5.0.0 behoben, die auf die Bibliothek vm2 umgestellt wurde, die ein höheres Maß an Isolierung bietet, das für die Ausführung von nicht vertrauenswürdigem Code geeignet ist.

Eine Sicherheitsanfälligkeit im NPM-Paket pac-resolver, das 3 Millionen Downloads pro Woche hat.

Bei Verwendung einer anfälligen Version von pac-resolver kann ein Angreifer durch das Übermitteln einer speziell gestalteten PAC-Datei die Ausführung seines JavaScript-Codes im Kontext des Codes eines Projekts, das Node.js verwendet, erreichen, wenn in diesem Projekt Bibliotheken verwendet werden, die über Abhängigkeiten mit pac-resolver verbunden sind. Die am häufigsten betroffene Bibliothek ist Proxy-Agent, die in den Abhängigkeiten von 360 Projekten gelistet ist, einschließlich urllib, aws-cdk, mailgun.js und firebase-tools, die insgesamt mehr als drei Millionen Downloads pro Woche haben.

Wenn eine Anwendung, die von pac-resolver abhängt, eine PAC-Datei lädt, die vom System mit Unterstützung des WPAD-Protokolls bereitgestellt wird, können Angreifer mit Zugriff auf das lokale Netzwerk die Verbreitung von Proxy-Einstellungen über DHCP nutzen, um bösartige PAC-Dateien einzuschleusen.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster