Weaknesses of type CWE-249
6 resultsTravessia de diretório (path traversal)
Ocorre quando a aplicação não valida adequadamente caminhos de arquivo fornecidos pelo usuário, permitindo que sequências como '../' sejam usadas para acessar arquivos fora do diretório permitido. Um atacante consegue ler, modificar ou deletar arquivos sensíveis do sistema, incluindo configurações, chaves e dados de outros usuários.
Uma aplicação web que serve documentos via URL como '/download?file=documento.pdf' sem validar a entrada. Um atacante usa '/download?file=../../../../etc/passwd' para ler o arquivo de senhas do Linux, ou '/download?file=..\..\windows\system32\config\sam' no Windows.
Valide e normalize caminhos recebidos do usuário usando funções nativas da linguagem (realpath em PHP, Path.GetFullPath em C#, etc.), compare o resultado contra um diretório base permitido e rejeite qualquer caminho fora dele. Implemente whitelist de nomes de arquivo se possível, e nunca confie em entrada do usuário para construir caminhos de arquivo.