Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1322

Use-After-Free

Geprüft vonCybersecurity entrepreneur & security researcher

Was ist Use-After-Free?

Use-After-FreeSpeicher-Sicherheitsfehler, bei dem ein Programm Speicher weiterhin nutzt, nachdem dieser bereits freigegeben wurde – ermöglicht oft Kontrolle über Objektzustand und Kontrollfluss.


Ein Use-After-Free (UAF) tritt auf, wenn ein Pointer ein Objekt weiter referenziert, nachdem free()/delete den Speicher freigegeben hat. Schafft es ein Angreifer, denselben Speicherbereich als anderes Objekt neu zu allokieren — eine Technik namens Heap Grooming oder „Heap Feng Shui" —, verschafft ihm der dangling Pointer faktisch eine Type-Confusion, ideal zum Überschreiben von Vtable-Pointern, Callback-Adressen oder sensiblem Zustand. UAFs dominieren die Browser- und Kernel-Exploitation und sind als CWE-416 katalogisiert.

Benannte Fälle verdeutlichen die Auswirkungen. CVE-2018-8174, ein UAF in der über den Internet Explorer erreichbaren VBScript-Engine, wurde im „Double Kill"-Zero-Day als Waffe eingesetzt und in Exploit-Kits integriert. CVE-2022-0609, ein UAF in der Animation-Komponente von Chrome, wurde als Zero-Day aktiv ausgenutzt; Googles Threat Analysis Group schrieb die Kampagnen nordkoreanischen Staatsakteuren zu, die Medien- und Fintech-Unternehmen ins Visier nahmen. Wegen der Häufigkeit solcher Fehler berichten sowohl Microsoft als auch Google, dass rund 70 % ihrer bisherigen CVEs auf Speicher-Sicherheitsfehler zurückgehen, was den Branchentrend hin zu Rust antreibt.

flowchart TD
  A[Objekt allokiert, Pointer P referenziert es] --> B["free() / delete aufgerufen"]
  B --> C[P zeigt jetzt ins Leere, Speicher an Allokator zurückgegeben]
  C --> D[Angreifer flutet den Heap, um den Slot zurückzugewinnen]
  D --> E[Speicher als angreiferkontrolliertes Objekt neu allokiert]
  E --> F[Programm dereferenziert P]
  F --> G[Type-Confusion -> Übernahme von Vtable / Kontrollfluss]

Abwehrmaßnahmen umfassen disziplinierte Besitzmodelle (RAII, Smart Pointers), Garbage-Collected- oder speichersichere Sprachen wie Rust, gehärtete Allokatoren (Quarantäne, Isolation Pools, GWP-ASan) sowie Tests mit KASAN/Valgrind. Browser setzen zudem MiraclePtr und PartitionAlloc-artige Schutzmechanismen ein.

Beispiele

  1. 01

    CVE-2018-8174 (VBScript-Engine): UAF, von APT-Akteuren ausgenutzt.

  2. 02

    CVE-2022-0609 (Chrome-Animation): UAF, als Zero-Day verwendet.

Häufige Fragen

Was ist Use-After-Free?

Speicher-Sicherheitsfehler, bei dem ein Programm Speicher weiterhin nutzt, nachdem dieser bereits freigegeben wurde – ermöglicht oft Kontrolle über Objektzustand und Kontrollfluss. Es gehört zur Kategorie Schwachstellen der Cybersicherheit.

Was bedeutet Use-After-Free?

Speicher-Sicherheitsfehler, bei dem ein Programm Speicher weiterhin nutzt, nachdem dieser bereits freigegeben wurde – ermöglicht oft Kontrolle über Objektzustand und Kontrollfluss.

Wie schützt man sich gegen Use-After-Free?

Schutzmaßnahmen gegen Use-After-Free kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.

Welche anderen Bezeichnungen gibt es für Use-After-Free?

Übliche alternative Bezeichnungen: UAF.

Verwandte Begriffe

Siehe auch