Falhas do tipo CWE-46

1 resultado

Equivalência de caminho: espaço à direita em nome de arquivo

A aplicação falha em normalizar caminhos de arquivo antes de validar ou processar, permitindo que um atacante use espaços em branco no final do nome (ex: 'arquivo.txt ') para contornar filtros de segurança. O sistema trata 'arquivo.txt' e 'arquivo.txt ' como caminhos diferentes, quando o SO pode igualá-los, causando validação bypassada ou acesso a recursos não autorizado.

Exemplo

Um servidor valida que uploads devem ter extensão '.jpg' (permitido: 'foto.jpg'), mas rejeita executáveis. Um atacante envia 'shell.exe ' (com espaço) e, dependendo de como o SO processa o caminho, o arquivo pode ser salvo e executado como se fosse '.exe' legítimo, contornando a whitelist.

Como mitigar

Normalize todos os caminhos de arquivo removendo espaços à direita e à esquerda antes de qualquer validação ou processamento (use trim(), strip() ou equivalente). Aplique validação de extensão e nome após a normalização, e considere usar uma lista branca rigorosa de nomes ou padrões de arquivo aceitos.