Buffer Overflow

Definizione rapida

Il buffer overflow avviene quando un processo scrive più dati di quanti il buffer possa contenere.

Spiegazione

La parte eccedente supera lo spazio assegnato e raggiunge aree successive, dove può alterare o sostituire informazioni già presenti. Il problema può nascere da un errore di programmazione oppure essere sfruttato per compromettere la sicurezza dei dati.

Esempio pratico

Un processo tenta di copiare nel buffer una quantità eccessiva di dati e finisce per sovrascrivere quelli conservati nell'area seguente.

Spiegazione tecnica

L'errore dipende dalla mancata corrispondenza tra la dimensione dei dati in ingresso e la capacità disponibile nel buffer.

Da non confondere con

Il buffer overflow riempie oltre il limite l'area di memoria; il buffer underrun descrive invece l'esaurimento dei dati attesi da un dispositivo.