Fallos del tipo CWE-176
30 resultadosManipulação inadequada de codificação Unicode na entrada
A aplicação não processa corretamente caracteres Unicode, deixando passar validações ou causando interpretações diferentes do mesmo dado em camadas distintas (frontend vs backend, ou entre bibliotecas). Um atacante usa variações de codificação (UTF-8, UTF-16, normalizações) para contornar filtros de segurança ou injetar payloads maliciosos que parecem inofensivos em uma camada mas executam em outra.
Um WAF bloqueia a string '<script>' mas um atacante envia '<script>' codificado em UTF-16 ou com caracteres compostos (combinando U+0073 + U+0063 + modificadores). Se a validação não decodifica Unicode antes de verificar, o payload passa; ao ser processado pelo navegador, a decodificação ocorre e o script executa.
Sempre normalize Unicode (decomposição NFD ou NFC) e decodifique antes de qualquer validação ou filtro de segurança. Faça validação *após* normalização, não antes. Use listas brancas rigorosas para caracteres aceitáveis e considere rejeitar entrada fora do ASCII se o contexto permitir.