Un buffer è un'area di memoria che memorizza dati dello stesso tipo, come caratteri o numeri. Il buffer overflow si verifica quando si scrivono dati oltre i limiti del buffer, sovrascrivendo altre aree di memoria. Le conseguenze dipendono da:

Esempio: l’attacco al servizio fingerd

Nel famoso attacco di Morris, un exploit sfruttò un buffer overflow nel comando finger. L'input malevolo sovrascrisse l'indirizzo di ritorno della funzione, consentendo l'esecuzione di codice arbitrario, ottenendo così il controllo del sistema.

I buffer overflow sono spesso sfruttati per eseguire codice dannoso, alterare il comportamento di un programma o ottenere privilegi elevati, rendendoli una delle vulnerabilità più critiche in sicurezza informatica.