Fallos del tipo CWE-55

1 resultado

Equivalência de caminho: uso de '/./' (diretório com ponto simples)

A fraqueza ocorre quando o aplicativo não normaliza corretamente caminhos de arquivo, permitindo que um atacante use a sequência '/./' (barra-ponto-barra) para contornar validações ou filtros de caminho. O padrão '/./' é equivalente a simplesmente '/', mas pode passar despercebido por verificações ingenuas que não reconhecem essa equivalência, possibilitando acesso não autorizado a arquivos ou diretórios.

Ejemplo

Um controle de acesso bloqueia requisições para '/etc/passwd' mas não reconhece '/etc/./passwd' como equivalente. Um atacante usa a segunda forma para ler o arquivo bloqueado, ou um filtro que veda 'admin/' permite 'admin/./' contornando a restrição.

Cómo mitigar

Sempre normalize caminhos antes de qualquer validação, usando funções padrão da linguagem (como 'realpath()' em PHP/Python, 'canonicalizePath()' em Java) que resolvem sequências como '/./' para sua forma canônica. Implemente validação após normalização, nunca antes.