CyberGlossary

Schwachstellen

Unsichere Deserialisierung

Auch bekannt als: Unsafe Deserialization, Objekt-Deserialisierungs-Schwachstelle

Definition

Schwachstelle, 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

  • Java-App deserialisiert ein Session-Cookie mit Commons Collections im Classpath — Folge: RCE.
  • Python-Dienst führt pickle.loads auf nutzerkontrollierten Bytes aus.

Verwandte Begriffe