Falhas do tipo CWE-147

5 resultados

Falha na neutralização de caracteres terminadores na entrada

O programa recebe entrada do usuário e não neutraliza corretamente caracteres que marcam fim de string ou comando (como null bytes ou quebras de linha). Isso permite que um atacante injete dados além do ponto onde a aplicação esperava o término, alterando o comportamento do programa ou contornando validações.

Exemplo

Uma aplicação web valida um nome de arquivo enviado pelo usuário, verificando se termina em '.txt'. Um atacante envia 'malware.exe\x00.txt' (com null byte). O programa valida como '.txt', mas ao processar ignora tudo após o null byte e executa 'malware.exe' no servidor.

Como mitigar

Sempre sanitize entrada tratando caracteres especiais (null bytes, quebras de linha, carriage return) antes de usá-la em operações críticas. Implemente listas de permissão para caracteres válidos e use APIs de validação robustas da linguagem, evitando processar dados brutos diretamente em operações sensíveis como manipulação de arquivos ou comandos.