Heap overflow
O que é Heap overflow?
Heap overflowBuffer overflow em memória alocada dinamicamente, que muitas vezes corrompe metadados do alocador, ponteiros de função ou tabelas virtuais de objetos.
Um heap overflow escreve para além do fim de um buffer alocado dinamicamente, danificando chunks adjacentes ou metadados do alocador (malloc/free, jemalloc, mimalloc, etc.). Como o layout do heap não é determinístico, a exploração usa heap grooming ou "feng shui" para posicionar alvos úteis junto ao buffer vulnerável: ponteiros de função, vtables, blocos de controlo de smart pointers ou estado crítico. Alocadores modernos endurecem metadados, isolam chunks e adicionam guard pages; ASLR, CFI, sandboxing e linguagens memory-safe reduzem o impacto. Os heap overflows são centrais na exploração de navegadores, kernels e parsers de documentos, com várias entradas premiadas no Pwn2Own.
● Exemplos
- 01
CVE-2018-4407: heap overflow TCP no kernel XNU.
- 02
Vários heap overflows do motor JavaScript do Chrome explorados no Pwn2Own.
● Perguntas frequentes
O que é Heap overflow?
Buffer overflow em memória alocada dinamicamente, que muitas vezes corrompe metadados do alocador, ponteiros de função ou tabelas virtuais de objetos. Pertence à categoria Vulnerabilidades da cibersegurança.
O que significa Heap overflow?
Buffer overflow em memória alocada dinamicamente, que muitas vezes corrompe metadados do alocador, ponteiros de função ou tabelas virtuais de objetos.
Como se defender contra Heap overflow?
As defesas contra Heap overflow costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Heap overflow?
Nomes alternativos comuns: Heap buffer overflow.