Weaknesses of type CWE-42
1 resultEquivalência de caminho: ponto final no nome de arquivo
Alguns sistemas operacionais (especialmente Windows) tratam nomes de arquivo com ponto final como equivalentes ao mesmo arquivo sem o ponto. Um atacante explora isso para contornar validações de nome de arquivo ou extensão, acessando recursos bloqueados com um nome ligeiramente diferente (ex: 'documento.pdf.' para acessar 'documento.pdf').
Uma aplicação web rejeita upload de arquivos '.exe' mas aceita '.exe.' (com ponto). Um atacante envia 'malware.exe.' que o servidor valida como seguro, mas o Windows o salva e executa como 'malware.exe'. Ou um WAF bloqueia acesso a '/admin' mas permite '/admin.' (com ponto final na pasta), contornando a proteção.
Normalize nomes de arquivo removendo caracteres de trailing (pontos, espaços) antes de qualquer validação ou comparação. Implemente validação de extensão após normalização. Em Windows, considere usar APIs de validação do SO que já tratam equivalência, ou rejeitar nomes com caracteres suspeitos (ponto/espaço finais).