„`html
Zusammenfassung
Keras-Versionen vor 3.14.0 enthalten eine kritische Path-Traversal-Schwachstelle in den Archiv-Extraktionsfunktionen. Die Validierungsmechanismen in keras/src/utils/file_utils.py prüfen Archiv-Pfade gegen das aktuelle Arbeitsverzeichnis (CWD) statt gegen das tatsächliche Extraktionsziel. Dies ermöglicht es Angreifern, Dateien außerhalb des vorgesehenen Verzeichnisses zu schreiben und potenziell das System zu kompromittieren.
Betroffene Systeme
Die Schwachstelle betrifft Keras-Installationen vor Version 3.14.0. Besonders gefährdet sind Umgebungen mit CWD /, einschließlich Docker-Container, CI/CD-Runner und Jupyter-Notebooks. Python 3.11 ist ohne den filter="data"-Sicherheitsmechanismus besonders anfällig.
Technische Details
Die fehlerhaften Funktionen filter_safe_tarinfos() und filter_safe_zipinfos() validieren Archiv-Mitglieder gegen das Prozess-CWD statt des Extraktionsziels. Wenn das CWD auf / gesetzt ist, wird die Validierungsgrenze zum Dateisystem-Root, wodurch Traversal-Pfade wie ../../etc/passwd die Sicherheitsprüfung umgehen können.
Ein zusätzlicher Fehler in der Zip-Filterlogik verursacht einen AttributeError bei blockierten Einträgen, was zu unvollständigen Extraktionen führt. Python 3.11 Installationen entbehren des filter="data" Sicherheitsnetzes vollständig.
Empfohlene Massnahmen
- Upgrade auf Keras 3.14.0 oder höher durchführen
- Keras-Operationen nicht in Umgebungen mit CWD
/ausfĂĽhren - Archiv-Extraktionen in isolierte, dedizierte Verzeichnisse mit restriktiven Berechtigungen durchfĂĽhren
- Eingabe-Archive auf Malware und verdächtige Pfade überprüfen
- Python 3.11 auf aktuelle Versionen aktualisieren
- Datei-Integritätsüberwachung implementieren
Bewertung
CVSS Score: 8.1 (High)
Die hohe Bewertung widerspiegelt das erhebliche Risiko für Dateiintegrität und potenzielle Code-Injection. Die Anfälligkeit ist in verbreiteten Containerized-Umgebungen leicht auszulösen und ermöglicht Privilege-Escalation durch Manipulation von Konfigurationsdateien.
„`