CVE Alert: Python API Bibliothek mit schwerem Risiko der Remote Codeausführung

CVE Alert: Python API Bibliothek mit schwerem Risiko der Remote Codeausführung

Unsichere YAML-Deserialisierung in yaml.Loader in transmute-core vor 1.13.5 erlaubt Angreifern die Ausführung von beliebigem Python-Code.

Unser Pentester Josef entdeckte eine Sicherheitslücke in einer öffentlichen Python-Bibliothek, die von der REST-API der Anwendung verwendet wird. Die Schwachstelle wurde in der Unterstützung der Bibliothek für verschiedene Inhaltstypen gefunden, die für die Kommunikation mit der API verwendet werden können. Während der Standard-Inhaltstyp für API JSON war, wurde entdeckt, dass die Bibliothek auch YAML unterstützte.

Das Problem trat auf, weil die Bibliothek eine falsch konfigurierte YAML-Parsing-Bibliothek, pyYAML, verwendete, was sie anfällig für unsichere YAML-Deserialisierung machte. Dies bedeutete, dass ein Angreifer beliebigen Code ausführen konnte, indem er diese Schwachstelle ausnutzte (auch bekannt als Remote Code Execution).

Um die Schwachstelle zu entdecken, hat unser Team verschiedene Inhaltstypen ausprobiert, während es mit der API interagierte. Bei einigen der nicht unterstützten Inhaltstypen antwortete die API mit einer Fehlermeldung, die besagt, dass der Inhaltstyp nicht unterstützt wird, sie listete jedoch auch alle unterstützten Inhaltstypen auf, von denen einer YAML war.

Da der Inhaltstyp YAML nicht oft von APIs verwendet wird und unser Team aus anderen Erkenntnissen wusste, dass die Lösung in Python geschrieben ist, wurde sofort versucht, einen bekannten Vektor im Python YAML-Parsing, Unsafe Deserialization, auszunutzen. Dieser Vektor erwies sich als valide, und es wurde eine Remote Code Execution erreicht. Auf diese Weise erhielten sie unbeabsichtigt Zugang zu sensiblen Informationen über die Implementierung und Konfiguration der Anwendung, die von einem Angreifer möglicherweise ausgenutzt werden können.

Die Entdeckung dieser Schwachstelle ermöglichte es uns, den Kunden zu alarmieren und vorläufige Empfehlungen zur Abhilfe zu geben. Nachdem die verwendete Bibliothek nicht von ihnen gewartet wurde, haben wir uns an den Autor der Bibliothek gewandt, die Schwachstelle zusammen mit einem Vorschlag zur Behebung des Problems gemeldet und eine CVE-Kennung beantragt, die wir erhalten und als CVE-2023-47204 identifiziert haben. Der Autor der Bibliothek veröffentlichte umgehend eine neue, korrigierte Version. Anschließend wurde der Kunde benachrichtigt, das Problem durch eine Aktualisierung der Bibliothek zu beheben.

Für die Unternehmen ist es von entscheidender Bedeutung, die Sicherheit ihrer Systeme und Anwendungen regelmäßig zu überprüfen, sowohl durch interne Tests als auch durch externe Penetrationstests. Hierdurch können Schwachstellen erkannt und behoben werden, bevor sie von böswilligen Akteuren ausgenutzt werden können.

Schlussendlich hat die in der von der REST-API verwendeten Bibliothek entdeckte Schwachstelle die potenziellen Risiken einer Vergrößerung der Angriffsfläche durch die Verwendung von Bibliotheken von Drittanbietern aufgezeigt, die nicht regelmäßig getestet werden oder sich nicht bewährt haben. Dies ist eine Mahnung, der Sicherheit bei der Softwareentwicklung Priorität einzuräumen und regelmäßig Sicherheitsbewertungen durchzuführen, um potenzielle Bedrohungen zu entschärfen.

Kontaktieren Sie uns noch heute und verwandeln Sie Ihre Schwachstellen in Stärken!

Über den Autor

Citadelo
Citadelo
Citadelo is a firm of ethical hackers on your side. We think like hackers, but we don't abuse it. On the contrary, our main goal is to reveal vulnerabilities without causing damage. We have been conducting simulated attacks for our clients since 2006
Mehr von diesem Autor

Verwandte Blogs