Falhas do tipo CWE-148

3 resultados

Neutralização inadequada de caracteres líderes na entrada

A aplicação falha em remover ou validar caracteres especiais (como pontos, barras ou outros prefixos) que aparecem no início de uma entrada do usuário, permitindo bypass de validações ou manipulação de caminhos de arquivo. Um atacante insere sequências como `../`, `..\` ou `%2e%2e` para contornar filtros de segurança que não tratam esses caracteres corretamente.

Exemplo

Um formulário aceita nomes de arquivo e valida se contêm `../`, mas não decodifica URL-encoding antes da validação. Um atacante envia `%2e%2e/sensiveis/arquivo.txt` que passa pela validação e, após decodificação no backend, acessa arquivos fora do diretório permitido.

Como mitigar

Normalize e decodifique a entrada (URL, HTML entities, Unicode) *antes* de validar, depois valise o caminho absoluto resultante contra uma lista branca. Use APIs seguras da linguagem para manipulação de caminhos (como `Path.resolve()` ou `os.path.abspath()`) em vez de concatenação de strings.