Unsichere Deserialisierung
Was ist Unsichere Deserialisierung?
Unsichere DeserialisierungSchwachstelle, bei der eine Anwendung nicht vertrauenswürdige Daten deserialisiert und Angreifer beliebige Objekte erzeugen — häufig mit Remote-Code-Execution.
Wenn eine Anwendung serialisierte Daten (Binärformate von Java/PHP/Python/.NET, YAML oder JSON mit Typ-Metadaten) wieder in Objekte zurückwandelt, kann der Deserialiser Konstruktoren, Magic-Methoden oder Gadget-Chains aufrufen. Mit untrusted Input bauen Angreifer Payloads, die während der Deserialisierung gefährliches Verhalten auslösen — RCE, Auth-Bypass, Dateischreiben, DoS. Gadget-Chains in Apache Commons Collections (Java), Pickle (Python) oder .NET BinaryFormatter haben kritische Vorfälle verursacht. Schutz: untrusted Daten nicht deserialisieren, Formate ohne Typ-Recovery (reines JSON mit Schema), Payloads signieren, Allow-Listen deserialisierbarer Typen, Runtime-Patches.
● Beispiele
- 01
Java-App deserialisiert ein Session-Cookie mit Commons Collections im Classpath — Folge: RCE.
- 02
Python-Dienst führt pickle.loads auf nutzerkontrollierten Bytes aus.
● Häufige Fragen
Was ist Unsichere Deserialisierung?
Schwachstelle, bei der eine Anwendung nicht vertrauenswürdige Daten deserialisiert und Angreifer beliebige Objekte erzeugen — häufig mit Remote-Code-Execution. Es gehört zur Kategorie Schwachstellen der Cybersicherheit.
Was bedeutet Unsichere Deserialisierung?
Schwachstelle, bei der eine Anwendung nicht vertrauenswürdige Daten deserialisiert und Angreifer beliebige Objekte erzeugen — häufig mit Remote-Code-Execution.
Wie schützt man sich gegen Unsichere Deserialisierung?
Schutzmaßnahmen gegen Unsichere Deserialisierung kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für Unsichere Deserialisierung?
Übliche alternative Bezeichnungen: Unsafe Deserialization, Objekt-Deserialisierungs-Schwachstelle.