Un heap-buffer-overflow si verifica quando un programma scrive oltre la fine di un buffer allocato nell'heap, la parte di memoria usata per i dati dinamici. Poiché la scrittura finisce al di fuori dell'area prevista, può corrompere la memoria adiacente, mandare in crash il processo o alterare lo stato del programma in modi imprevisti.
Nella sicurezza informatica, questo bug è importante perché gli aggressori possono talvolta attivarlo con input appositamente costruiti, soprattutto in parser e decoder che elaborano file non attendibili. Librerie per immagini, lettori di documenti e pipeline multimediali sono bersagli comuni perché gestiscono formati complessi e grandi quantità di dati controllati dall'aggressore. Quando l'overflow si verifica durante l'elaborazione lato server, può essere usato per un denial of service o, in alcuni ambienti, come parte di una catena di esecuzione di codice.
Chi difende i sistemi cerca questa classe di bug tramite fuzzing, revisione del codice, controlli dei limiti e pratiche di programmazione memory-safe. Applicare patch alla libreria vulnerabile e limitare quali tipi di file vengono decodificati sul server sono modi pratici per ridurre l'esposizione.


