Se dice que un buffer se desborda cuando, de forma incontrolada, al intentar meter en él más datos de los que caben el exceso se vierte en otras zonas del sistema causando daños y perjuicios. A veces se trata de un mero accidente con consecuencias desagradables. A veces se trata de un ataque planificado que habilita alguna ventaja para el atacante.
Los desbordamientos de memoria pueden considerarse defectos de programación. Algunos lenguajes impiden con más o menos éxito que los desbordamientos puedan ocurrir; en otros lenguajes se requiere una precaución explícita por parte del programador que acaba siendo el último responsable de que el sistema sea o no vulnerable a este tipo de incidentes.
Véase Desbordamiento de búfer.