CyberGlossary

Schwachstellen

Heap-Overflow

Auch bekannt als: Heap-Buffer-Overflow

Definition

Pufferüberlauf in dynamisch allokiertem Speicher, der häufig Allokator-Metadaten, Funktionspointer oder virtuelle Tabellen von Objekten überschreibt.

Ein Heap-Overflow schreibt über das Ende eines heap-allokierten Puffers hinaus und beschädigt benachbarte Chunks oder Allokator-Metadaten (malloc/free, jemalloc, mimalloc usw.). Da Heap-Layouts nicht deterministisch sind, nutzt die Exploitation Heap-Grooming oder „Feng Shui", um nützliche Ziele neben den verwundbaren Puffer zu platzieren – Funktionspointer, vtables, Smart-Pointer-Kontrollblöcke oder kritischer Zustand. Moderne Allokatoren härten Metadaten, isolieren Chunks und fügen Guard-Pages ein; ASLR, CFI, Sandboxing und speichersichere Sprachen mindern die Auswirkung. Heap-Overflows sind zentral bei Browser-, Kernel- und Dokument-Parser-Exploitation und tauchen regelmäßig in Pwn2Own-Siegen auf.

Beispiele

  • CVE-2018-4407: TCP-Heap-Overflow im XNU-Kernel.
  • Zahlreiche Heap-Overflows der Chrome-JavaScript-Engine, ausgenutzt bei Pwn2Own.

Verwandte Begriffe