CyberGlossary

Vulnerabilidades

Buffer overflow

Também conhecido como: Sobreposição de buffer

Definição

Falha de segurança de memória em que um programa escreve para além do fim de um buffer alocado, corrompendo memória adjacente e permitindo frequentemente execução de código.

Os buffer overflows ocorrem quando, em linguagens como C ou C++, os comprimentos de entrada não são devidamente limitados ao tamanho do buffer destino. Os bytes excedentes sobrescrevem stack frames, chunks de heap, ponteiros de função ou endereços de retorno adjacentes, permitindo que atacantes desviem o fluxo de controlo ou vazem dados. Os overflows clássicos de pilha estão na base de muitos exploits históricos, e os de heap continuam muito comuns. As mitigações modernas incluem canários de pilha, ASLR, DEP/NX, Control-Flow Integrity, funções libc mais seguras, fuzzing e, cada vez mais, a migração para linguagens seguras como Rust. Estão catalogados em CWE-119 e fazem parte das listas OWASP e SANS.

Exemplos

  • CVE-2014-0160 (Heartbleed): overflow de leitura de memória no OpenSSL.
  • Worm Morris (1988): explorou um overflow de pilha no fingerd.

Termos relacionados