Weaknesses of type CWE-158

28 results

Neutralização inadequada de byte nulo

Ocorre quando a aplicação não trata corretamente caracteres nulos (\0) em strings ou dados de entrada, permitindo que um atacante contorne validações ou filters. O byte nulo pode truncar strings em linguagens como C, ou ser interpretado diferentemente por componentes diferentes da aplicação, criando divergências no processamento.

Example

Um validador rejeita URLs que contêm 'admin', mas o atacante envia 'admin\0.jpg' — a aplicação vê isso como 'admin' e bloqueia, mas a função de acesso a arquivo vê apenas 'admin' até o nulo e carrega um arquivo de configuração sensível. Outro caso: filtros SQL que param no byte nulo, deixando código SQL após ele ser executado.

How to mitigate

Valide e sanitize entrada eliminando ou escapando bytes nulos antes de qualquer processamento; use bibliotecas seguras que tratam strings com comprimento explícito (não apenas terminadas em nulo); prefira linguagens modernas (Python, Java) que gerenciam automaticamente nulos em strings. Teste casos de entrada com caracteres nulos durante code review e testes de segurança.