Eine Schwachstelle im Python-Paket Js2Py, das ĂŒber eine Million Mal pro Monat heruntergeladen wird

Im Python-Paket Js2Py, das im vergangenen Monat 1,2 Millionen Mal heruntergeladen wurde, wurde eine Schwachstelle (CVE-2024-28397) entdeckt, die es ermöglicht, die Sandbox-Isolierung zu umgehen und Code im System auszufĂŒhren, wenn speziell formatierte Daten in JavaScript verarbeitet werden. Diese Schwachstelle kann verwendet werden, um Angriffe auf Programme durchzufĂŒhren, die Js2Py zur AusfĂŒhrung von JavaScript-Code verwenden. Der Patch ist derzeit nur als Patch verfĂŒgbar. Ein Prototyp des Exploits wurde zur ÜberprĂŒfung der Angriffs Möglichkeit vorbereitet.

Das Paket Js2Py implementiert einen Interpreter und einen Transpiler fĂŒr JavaScript, der es ermöglicht, JavaScript-Code in einer isolierten Umgebung auszufĂŒhren virtuellen Maschine oder JavaScript in eine Darstellung in Python zu ĂŒbersetzen. Das Projekt ist vollstĂ€ndig in Python geschrieben und verwendet keine externen JavaScript-Engines. In der Praxis wird die Bibliothek in verschiedenen Web-Crawlern, Download-Systemen und Website-Analysetools verwendet, die die Verarbeitung von Inhalten unterstĂŒtzen, die durch JavaScript-Code generiert werden.

Zu den Anwendungen, die von der Schwachstelle betroffen sind, zĂ€hlen Lightnovel Crawler (ein Tool zum Herunterladen von BĂŒchern aus Online-Diensten und deren Speicherung in verschiedenen Formaten fĂŒr das Offline-Lesen), cloudscraper (automatisches Umgehen von Schutzelementen gegen Bots, die in CDN Cloudflare verwendet werden) und pyLoad (ein Download-Manager, der die Verarbeitung von Seiten unterstĂŒtzt, die in JavaScript generiert werden). Bei der Verarbeitung von speziell formatiertem JavaScript-Inhalt in diesen Anwendungen kann ein Angreifer die AusfĂŒhrung willkĂŒrlichen Codes auf Systemebene erreichen.

Die Schwachstelle ist in der Implementierung einer globalen Variablen innerhalb von js2py vorhanden, die es ermöglicht, auf ein Python-Objekt aus dem im isolierten Umfeld ausgefĂŒhrten JavaScript-Code zuzugreifen, ungeachtet des Aufrufs der Methode js2py.disable_pyimport(), um den Import von Python-Objekten zu deaktivieren. Um willkĂŒrlichen Code im System auszufĂŒhren, kann der Angreifer die Schwachstelle nutzen, um Zugriff auf das Popen-Objekt aus dem Python-Modul subprocess zu erhalten. Bemerkenswert ist, dass die Änderungen zur Behebung der Schwachstelle am ersten MĂ€rz im Projekt Js2Py eingereicht wurden, aber in dreieinhalb Monaten nicht akzeptiert wurden.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster