Falhas do tipo CWE-249

6 resultados

Travessia de diretório

A aplicação aceita entrada do usuário para construir caminhos de arquivo sem validar se o caminho sai do diretório permitido, permitindo acesso a arquivos fora do escopo previsto. Um atacante usa sequências como `../` para navegar para diretórios pais e ler ou modificar arquivos sensíveis do sistema.

Exemplo

Um painel de download recebe um parâmetro `?arquivo=relatorio.pdf` mas não valida o caminho. O atacante envia `?arquivo=../../../etc/passwd` e consegue ler o arquivo de senhas do servidor, porque o código simplesmente concatena a entrada ao diretório base sem sanitização.

Como mitigar

Valide e normalize todo caminho de arquivo: compare o caminho final resolvido contra uma whitelist de diretórios permitidos, use APIs que resolvem o caminho absoluto, e rejeite sequências `../` ou referências absolutas. Melhor ainda: use IDs ou tokens para referências de arquivo em vez de nomes fornecidos pelo usuário.