Schwachstelle im Python-Paket Js2Py, das über eine Million Mal im Monat heruntergeladen wird

Im Python-Paket Js2Py, das im letzten Monat 1,2 Millionen Mal heruntergeladen wurde, wurde eine Schwachstelle (CVE-2024-28397) entdeckt, die es ermöglicht, die Sandbox-Isolation zu umgehen und Code im System auszuführen, wenn speziell gestaltete JavaScript-Daten verarbeitet werden. Diese Schwachstelle kann verwendet werden, um Programme anzugreifen, die Js2Py zur Ausführung von JavaScript-Code verwenden. Ein Fix ist bisher nur als Patch verfügbar. Ein Prototyp eines Exploits zur Überprüfung der Angriffsfähigkeit wurde vorbereitet.

Das Paket Js2Py implementiert einen Interpreter und Transpiler für JavaScript, der es ermöglicht, JavaScript-Code isoliert auszuführen virtuellen Maschine oder JavaScript in eine Python-Darstellung zu transpilieren. Das Projekt ist vollständig in Python geschrieben und verwendet keine externen JavaScript-Engines. In der Praxis wird die Bibliothek in verschiedenen Web-Indizierern, Ladesystemen und Website-Analysatoren eingesetzt, die die Verarbeitung von durch JavaScript-generiertem Code erzeugtem Inhalt unterstützen.

Die betroffenen Anwendungen bei dieser Sicherheitsanfälligkeit sind Lightnovel Crawler (ein Tool zum Herunterladen von Büchern aus Online-Diensten und zum Speichern in verschiedenen Formaten für das Offline-Lesen), cloudscraper (ein Tool, das automatisiert die Bot-Schutzmaßnahmen von CDN Cloudflare umgeht) und pyLoad (ein Download-Manager, der das Herunterladen von Seiten, die mit JavaScript generiert werden, unterstützt). Bei der Verarbeitung speziell gestalteter JavaScript-Inhalte in diesen Anwendungen kann ein Angreifer die Ausführung beliebigen Codes auf Systemebene erreichen.

Die Sicherheitsanfälligkeit besteht in der Implementierung einer globalen Variablen innerhalb von js2py, die es ermöglicht, auf ein Python-Objekt aus dem im isolierten Umfeld ausgeführten JavaScript-Code zuzugreifen, unabhängig davon, ob die Methode js2py.disable_pyimport() aufgerufen wird, um den Import von Python-Objekten zu deaktivieren. Um beliebigen Code im System auszuführen, kann der Angreifer die Sicherheitsanfälligkeit ausnutzen und Zugriff auf das Popen-Objekt aus dem Python-Modul subprocess erhalten. Anzumerken ist, dass die Änderung zur Behebung der Sicherheitsanfälligkeit am ersten März dem Js2Py-Projekt übermittelt wurde, jedoch nach dreieinhalb Monaten noch nicht akzeptiert wurde.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster