„`html
Zusammenfassung
Eine Deserialisierungsschwachstelle wurde in PyOD (Python Outlier Detection) Version 3.5.0, 3.5.1 und 3.5.2 identifiziert. Die Anfälligkeit befindet sich in der Funktion pyod.utils.persistence.load der Datei pyod/utils/persistence.py. Ein entfernter Angreifer kann durch Manipulation des path-Parameters beliebigen Code ausführen. Mit einem CVSS-Score von 6.3 wird die Schwachstelle als Medium eingestuft.
Betroffene Systeme
Die Anfälligkeit betrifft folgende Versionen:
- PyOD 3.5.0
- PyOD 3.5.1
- PyOD 3.5.2
Alle Systeme, die diese Versionen der PyOD-Bibliothek nutzen, sind potenziell gefährdet. Dies gilt besonders für Produktivumgebungen mit Web-Anwendungen oder APIs, die die Load-Funktion verwenden.
Technische Details
Die Vulnerability liegt in der unsicheren Deserialisierung von Python-Objekten. Die Funktion load() in pyod/utils/persistence.py validiert den ĂĽbergebenen path-Parameter nicht ausreichend. Ein Angreifer kann einen manipulierten Serialisierungsdateistream bereitstellen, der bei der Deserialisierung beliebigen Python-Code ausfĂĽhrt.
Angriffsszenario: Ein Angreifer überträgt eine präparierte Pickle-Datei über das Netzwerk. Beim Laden dieser Datei werden eingebettete Code-Anweisungen automatisch ausgeführt, ohne dass weitere Validierung stattfindet.
Empfohlene Massnahmen
- Sofortmassnahme: Aktualisieren Sie PyOD auf eine Version > 3.5.2, sobald ein Patch verfĂĽgbar ist
- Input-Validierung: Implementieren Sie Whitelist-basierte Pfad-Validierung vor dem Laden von Dateien
- Isolation: Führen Sie PyOD in isolierten Containerumgebungen mit eingeschränkten Berechtigungen aus
- Monitoring: ĂśberprĂĽfen Sie unerwartete Dateizugriffe und Prozessinstanziierungen
- Netzwerk-Segmentierung: Beschränken Sie Netzwerkzugriffe auf vertrauenswürdige Quellen
Bewertung
CVSS Score: 6.3 (Medium)
Angriffsvektor: Netzwerk
Patch-Status: Nicht verfĂĽgbar (in Entwicklung)
Die Schwachstelle erfordert sofortige Aufmerksamkeit. Ein offizieller Patch ist angekündigt und wird mit nur geringen Änderungen bereitgestellt. Bis dahin empfiehlt sich eine vorübergehende Deaktivierung oder Sandboxing der betroffenen Funktionalität.
„`