null pointer dereference

termo

programaçãosegurança

Seguir um ponteiro que contém nulo, de modo que o programa lê ou escreve no endereço zero e é interrompido pelo sistema operacional.

O PRIME chama isso de ponteiro zero, e a causa costuma ser prosaica: uma função retornou nulo em caso de falha e ninguém verificou. Em sistemas modernos é uma queda confiável e não uma tomada de controle, porque a página zero é deixada deliberadamente sem mapeamento, que é precisamente a mitigação, e isso explica por que o mesmo bug era bem mais perigoso em sistemas antigos onde a memória baixa podia ser mapeada. Seu custo real é disponibilidade, já que quem consegue forçar o caminho nulo repetidamente tem uma negação de serviço. É a CWE-476, e no depurador é o bug mais rápido de diagnosticar: o backtrace nomeia a linha.

Também conhecido como: zero pointer, null deref, segfault, CWE-476

Todos os verbetes do glossário