Fallos del tipo CWE-626
6 resultadosErro de interação com byte nulo (envenenamento de null byte)
Ocorre quando uma aplicação processa strings contendo bytes nulos (\x00) de forma inconsistente entre componentes. Um atacante injeta um byte nulo em uma entrada para contornar validações ou truncar strings, fazendo o programa interpretar apenas a parte antes do null byte enquanto sistemas de segurança validam a string inteira ou vice-versa. Isso cria uma brecha entre o que é validado e o que é realmente executado.
Um desenvolvedor valida um upload de arquivo bloqueando extensões perigosas como '.exe', mas o nome de arquivo contém um byte nulo: 'imagem.jpg\x00.exe'. A validação passa (vê '.jpg'), mas ao salvar no disco, linguagens como C/C++ truncam na primeira ocorrência de \x00, gerando 'imagem.jpg' — ou, em outras situações, o servidor interpreta como 'imagem.jpg.exe' dependendo de como processa strings.
Implemente validação rigorosa rejeitando qualquer entrada com bytes nulos antes de processar (não apenas truncando). Mantenha consistência: use a mesma interpretação de strings em todos os componentes (validação, armazenamento, execução) e privilegie linguagens que tratam strings com tamanho explícito (como Java, Python) em vez de terminadas em null byte.