Fallos del tipo CWE-38

1 resultado

Travessia de diretório com caminho absoluto

A aplicação aceita um caminho de arquivo fornecido pelo usuário sem validar se é um caminho absoluto (como '/etc/passwd' ou 'C:\Windows\System32'), permitindo acesso a arquivos fora do diretório intendido. O risco está em um atacante conseguir ler, escrever ou deletar arquivos críticos do sistema ou da aplicação.

Ejemplo

Um script web que carrega documentos do usuário recebe como parâmetro o nome do arquivo, mas não valida se é um caminho absoluto. Quando o atacante envia '/etc/passwd', a aplicação lê o arquivo de usuários do sistema inteiro, expondo credenciais e informações sensíveis.

Cómo mitigar

Rejeite ou normalize caminhos absolutos: valide que o caminho resolvido sempre fica dentro do diretório permitido (use 'realpath' ou equivalente); use listas brancas de nomes de arquivo; evite concatenar entrada do usuário diretamente em caminhos de arquivo.