Falhas do tipo CWE-21

3 resultados

Travessia de Diretórios (Path Traversal)

Fraqueza onde um atacante manipula caminhos de arquivo usando sequências como '../' para acessar arquivos fora do diretório pretendido. O código valida ou filtra insuficientemente a entrada do usuário antes de usá-la em operações de arquivo, permitindo leitura ou escrita não autorizada.

Exemplo

Uma aplicação web recebe um parâmetro de download: ?file=documento.pdf. Se o código faz simplesmente $arquivo = '/uploads/' . $_GET['file'], um atacante envia ?file=../../etc/passwd e consegue ler arquivos do sistema fora da pasta /uploads/.

Como mitigar

Valide e normalize caminhos com funções nativas (realpath, Path.getCanonicalPath), mantenha uma whitelist de arquivos permitidos, e garanta que o caminho resolvido sempre fica dentro do diretório autorizado. Nunca concatene entrada do usuário diretamente em caminhos de arquivo.