Una lettura fuori dai limiti dell'heap si verifica quando un programma usa un puntatore o una lunghezza che supera la fine di un'allocazione nell'heap e poi copia o ispeziona memoria a cui non avrebbe mai dovuto accedere. Poiché l'heap contiene buffer dinamici, questo bug spesso espone dati adiacenti invece di causare una corruzione immediata.
Nella sicurezza informatica, questo è importante perché la divulgazione di memoria può essere utile tanto quanto la corruzione della memoria. I byte dell'heap trapelati possono rivelare contenuti di file, credenziali, layout degli oggetti o informazioni sugli indirizzi che aiutano a aggirare le misure di hardening e a preparare un exploit successivo. Gli aggressori spesso attivano questo bug tramite contenuti multimediali costruiti ad arte, immagini, risposte di rete o altri input analizzati in cui i controlli delle dimensioni falliscono. I difensori cercano un rigoroso controllo dei limiti, una gestione sicura delle lunghezze e una minore esposizione di parser non fidati. Anche quando il risultato è solo un crash, una lettura fuori dai limiti dell'heap è un bug grave perché può compromettere la riservatezza e indebolire le difese successive.


