Fallos del tipo CWE-39

1 resultado

Travessia de Diretório com Prefixo C: (Windows)

Fraqueza específica do Windows onde um atacante usa caminhos absolutos começando com 'C:' ou outro drive letter para contornar validações de travessia de diretório. O código valida prefixos relativos (como '../') mas ignora que 'C:\diretorio\arquivo' também permite sair do diretório esperado, pois é um caminho absoluto que bypassa restrições.

Ejemplo

Um servidor web valida que nenhum caminho contenha '../' antes de acessar arquivos em 'C:\webapp\uploads', mas o atacante envia 'C:\windows\system32\arquivo' (ou apenas 'C:..\..\arquivo' em sintaxe DOS), contornando a validação e acessando diretórios fora da sandbox.

Cómo mitigar

Valide caminhos usando função de normalização do SO (ex: Path.GetFullPath() em C# ou realpath() em PHP), rejeite qualquer caminho absoluto ou que se resolva fora do diretório permitido; use whitelist de caracteres válidos e nunca confie só na ausência de '..'.