ONNX: Bösartige ONNX-Modelle können Server zum Absturz bringen, indem sie ungeschützte Objekteinstellungen ausnutzen.
Plattform
python
Komponente
onnx
Behoben in
1.21.0
### Zusammenfassung Die ExternalDataInfo-Klasse in ONNX verwendete die setattr()-Funktion von Python, um Metadaten (wie Dateipfade oder Datenlängen) direkt aus einer ONNX-Modelldatei zu laden. Das Problem? Es wurde nicht geprüft, ob die "Schlüssel" in der Datei gültig waren. Da die Datei blind vertraut wurde, konnte ein Angreifer ein bösartiges Modell erstellen, das interne Objekteigenschaften überschreibt. ### Warum es gefährlich ist **Instant Crash DoS**: Ein Angreifer kann die Längeneigenschaft auf eine riesige Zahl wie 9 Petabyte setzen. Wenn das System versucht, das Modell zu laden, versucht es, den gesamten RAM auf einmal zuzuweisen, was dazu führt, dass der Server abstürzt oder einfriert (Out of Memory). **Access Bypass**: Durch das Setzen eines negativen Offsets -1 kann ein Angreifer das System dazu bringen, Teile einer Datei zu lesen, die es nicht berühren sollte. **Object Corruption**: Angreifer können sogar "Dunder"-Attribute wie __class__ injizieren, um den Objekttyp vollständig zu ändern, was zu komplexeren Exploits führen könnte. **Fixed**: https://github.com/onnx/onnx/pull/7751 Objektstatusbeschädigung und DoS durch ExternalDataInfo-Attributinjektion
So beheben
Kein offizieller Patch verfügbar. Prüfe auf Workarounds oder überwache auf Updates.
Abhängigkeiten automatisch überwachen
Werde benachrichtigt, wenn neue Schwachstellen deine Projekte betreffen. Für immer kostenlos.
Kostenlos starten