Falhas do tipo CWE-66

1 resultado

Manipulação inadequada de nomes de arquivo em recursos virtuais

A aplicação não valida adequadamente nomes de arquivo que apontam para recursos virtuais (como dispositivos, pipes nomeados ou caminhos especiais do sistema), permitindo acesso não intencional a estes recursos. Um atacante pode fornecer um nome de arquivo especial (como /dev/null, /dev/zero ou um named pipe) e a aplicação o processa como se fosse um arquivo comum, desviando da lógica esperada.

Exemplo

Uma API de upload de documentos aceita um caminho de arquivo fornecido pelo usuário sem validação e o abre para leitura. Se o usuário enviar '/dev/urandom' como nome de arquivo, a aplicação pode tentar ler dados aleatórios do sistema, ou pior, um pipe nomeado pode bloquear a execução ou causar efeitos colaterais indesejados.

Como mitigar

Implemente whitelist de nomes de arquivo permitidos e valide rigorosamente qualquer nome fornecido pelo usuário, rejeitando caminhos especiais, absolutos ou que contenham traversal. Use funções seguras da linguagem para normalizar e validar caminhos antes de acessá-los, e execute com mínimos privilégios necessários.