Falhas do tipo CWE-838

9 resultados

Codificação inadequada para contexto de saída

Ocorre quando dados são codificados (ou escapados) de forma inadequada antes de serem inseridos em um contexto específico, como HTML, JavaScript, SQL ou URL. O desenvolvedor aplica a técnica de codificação errada para o contexto, deixando a aplicação vulnerável a injeção ou interpretação maliciosa de dados.

Exemplo

Um desenvolvedor tenta prevenir XSS codificando uma string com HTML entities (como `<`) antes de inseri-la em um atributo JavaScript, mas HTML entities não funcionam em contexto JavaScript — um atacante consegue quebrar o atributo e executar código. Outro caso: usar escape de URL em um contexto SQL, quando SQL requer escaping diferente.

Como mitigar

Sempre escolha a codificação correta para o contexto de destino: use HTML encoding para conteúdo HTML, JavaScript string escaping para JavaScript, prepared statements para SQL, e URL encoding para URLs. Prefira usar bibliotecas consolidadas (como OWASP ESAPI ou dependências específicas da linguagem) que aplicam a codificação certa automaticamente, em vez de implementar manualmente.