Weaknesses of type CWE-50

1 result

Equivalê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.