Weaknesses of type CWE-36

144 results

Travessia de diretório via caminho absoluto

A aplicação constrói caminhos de arquivo usando entrada externa, mas não valida adequadamente caminhos absolutos (como /etc/passwd ou C:\Windows\System32). Um atacante pode fornecer um caminho completo que ignora completamente a restrição de diretório pretendida, acessando arquivos fora da pasta permitida.

Example

Um serviço web que baixa arquivos do diretório /uploads/user123/ recebe a entrada do usuário para nome do arquivo. Se o usuário envia '/etc/passwd' em vez de apenas 'documento.pdf', o sistema tenta ler /etc/passwd, não /uploads/user123/etc/passwd, expondo dados sensíveis.

How to mitigate

Valide e normalize toda entrada de caminho (remova .., barras iniciais, e sequências de escape), use uma lista de permissão de caracteres seguros, e canonicalize o caminho final antes de acessar o arquivo para garantir que está realmente dentro do diretório esperado. Alternativa robusta: use IDs ou índices em vez de nomes de arquivo fornecidos pelo usuário.