Weaknesses of type CWE-50
1 resultEquivalência de caminho: barras duplas ou múltiplas no início
Ocorre quando a aplicação não normaliza caminhos que começam com múltiplas barras (ex: '//arquivo' ou '///diretorio'), tratando-os como equivalentes ao caminho com barra única. Um atacante explora essa ambiguidade para contornar validações de caminho, acessar arquivos ou diretórios não autorizados.
Example
Uma validação bloqueia acesso a '/etc/passwd', mas a aplicação aceita '//etc/passwd' como um caminho diferente não filtrado. O servidor normaliza a entrada internamente e acaba servindo o arquivo sensível, contornando a regra de segurança.
How to mitigate
Normalize TODOS os caminhos no início do processamento usando funções de canonicalização (ex: realpath() em PHP, Path.GetFullPath() em .NET). Valide apenas após a normalização, nunca antes.