Definición - ¿Qué significa Buffer Overflow?
Un desbordamiento de búfer ocurre cuando se escriben más datos en un búfer de los que puede contener. El exceso de datos se escribe en la memoria adyacente, sobrescribiendo el contenido de esa ubicación y provocando resultados impredecibles en un programa. Los desbordamientos de búfer ocurren cuando hay una validación incorrecta (sin límites antes de que se escriban los datos. Se considera un error o debilidad en el software
Techinfo explica el desbordamiento de búfer
Los atacantes pueden explotar un error de desbordamiento del búfer inyectando código que está diseñado específicamente para causar un desbordamiento del búfer con la parte inicial de un conjunto de datos, luego escribiendo el resto de los datos en la dirección de memoria adyacente al búfer desbordado. Los datos de desbordamiento pueden contener código ejecutable que permita a los atacantes ejecutar programas más grandes y sofisticados o concederse acceso al sistema.
Los desbordamientos de búfer son uno de los peores errores que un atacante puede aprovechar sobre todo porque es muy difícil de encontrar y corregir, especialmente si el software consta de millones de líneas de código. Incluso las correcciones para estos errores son bastante complicadas y propensas a errores. Por eso es realmente casi imposible eliminar este tipo de error por completo.
Aunque todos los programadores conocen la amenaza potencial de desbordamiento del búfer en sus programas, todavía existen muchas amenazas relacionadas con el desbordamiento del búfer en el software nuevo y antiguo, independientemente de la cantidad de correcciones que ya se hayan realizado.