Falhas do tipo CWE-44

1 resultado

Equivalência de caminho: ponto interno no nome do arquivo

A aplicação falha em normalizar ou validar corretamente caminhos de arquivo que contêm pontos no meio do nome (como 'arquivo.txt.bak' ou 'backup.old'), tratando variações como equivalentes quando não deveriam ser. Isso permite que um atacante contorne validações de extensão ou acesso ao referenciar o mesmo arquivo com um nome ligeiramente diferente.

Exemplo

Um upload de arquivo que valida apenas se termina com '.jpg' pode ser burlado enviando 'foto.jpg.tmp' ou 'imagem.jpg.bak'. Se o servidor trata o arquivo sem normalizar o nome, a validação passa mas o arquivo real processado pode ter comportamento não previsto.

Como mitigar

Normalize caminhos usando funções padrão da linguagem (realpath em PHP, Path.GetFullPath em .NET) antes de validar. Valide a extensão real do arquivo após normalização, não apenas pelo nome enviado, e mantenha uma lista explícita de extensões permitidas independente do que o cliente declara.