Heap-Overflow
Was ist Heap-Overflow?
Heap-OverflowPufferü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
- 01
CVE-2018-4407: TCP-Heap-Overflow im XNU-Kernel.
- 02
Zahlreiche Heap-Overflows der Chrome-JavaScript-Engine, ausgenutzt bei Pwn2Own.
● Häufige Fragen
Was ist Heap-Overflow?
Pufferüberlauf in dynamisch allokiertem Speicher, der häufig Allokator-Metadaten, Funktionspointer oder virtuelle Tabellen von Objekten überschreibt. Es gehört zur Kategorie Schwachstellen der Cybersicherheit.
Was bedeutet Heap-Overflow?
Pufferüberlauf in dynamisch allokiertem Speicher, der häufig Allokator-Metadaten, Funktionspointer oder virtuelle Tabellen von Objekten überschreibt.
Wie schützt man sich gegen Heap-Overflow?
Schutzmaßnahmen gegen Heap-Overflow kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für Heap-Overflow?
Übliche alternative Bezeichnungen: Heap-Buffer-Overflow.