Índice:
Definição - O que significa Buffer Overflow?
Um estouro de buffer ocorre quando mais dados são gravados em um buffer do que podem conter. O excesso de dados é gravado na memória adjacente, substituindo o conteúdo desse local e causando resultados imprevisíveis em um programa. Os estouros de buffer acontecem quando há validação inadequada (nenhum limite antes da gravação dos dados. É considerado um bug ou fraqueza no software
Techopedia explica o estouro de buffer
Os invasores podem explorar um bug de estouro de buffer injetando código especificamente adaptado para causar estouro de buffer com a parte inicial de um conjunto de dados e gravando o restante dos dados no endereço de memória adjacente ao buffer que está transbordando. Os dados do estouro podem conter código executável que permite que os invasores executem programas maiores e mais sofisticados ou concedam acesso ao sistema.
Os estouros de buffer são um dos piores bugs que podem ser explorados por um invasor, principalmente porque é muito difícil de encontrar e corrigir, principalmente se o software consistir em milhões de linhas de código. Até as correções para esses bugs são bastante complicadas e propensas a erros. É por isso que é realmente quase impossível remover completamente esse tipo de bug.
Embora todos os programadores conheçam a ameaça potencial de estouro de buffer em seus programas, ainda existem muitas ameaças relacionadas ao estouro de buffer nos softwares novos e antigos, independentemente do número de correções que já foram executadas.