CyberGlossary

Vulnerabilidades

Desreferenciação de ponteiro nulo

Também conhecido como: Null deref

Definição

Bug em que um programa lê ou escreve através de um ponteiro cujo valor é nulo (ou inválido), normalmente causando uma falha do processo e por vezes permitindo exploração.

As desreferenciações de ponteiro nulo (CWE-476) ocorrem quando o código acede a um ponteiro nunca inicializado, posto a NULL após free, ou cuja função emissora falhou silenciosamente. Na maioria dos sistemas modernos isto causa um segmentation fault e a morte do processo, configurando uma negação de serviço. Em ambientes restritos — kernels antigos onde o endereço zero é mapeável, sistemas embebidos sem MMU, alguns compiladores JIT — as desreferenciações nulas podem ser transformadas em primitivas de corrupção de memória. Defesas: verificação estrita de nulos, características de linguagem (Optional/Maybe, referências não nulas), análise estática, testes com sanitizers e controlos do SO como mmap_min_addr que proíbem mapear endereços baixos.

Exemplos

  • Servidor web que falha quando um cabeçalho opcional está ausente.
  • Bugs históricos de null-deref no kernel Linux exploráveis quando mmap_min_addr era 0.

Termos relacionados