Fallos del tipo CWE-433

1 resultado

Entrega de conteúdo web bruto não parseado

Ocorre quando a aplicação entrega conteúdo web (HTML, JavaScript, etc.) diretamente ao navegador sem processá-lo ou validá-lo adequadamente. O navegador então interpreta esse conteúdo conforme suas regras padrão, podendo executar scripts ou aplicar estilos maliciosos. O risco é permitir injeção de código ou manipulação da página via dados não sanitizados.

Ejemplo

Um aplicativo web recebe um parâmetro com HTML customizado e o retorna direto na resposta sem escapar tags. Um atacante injeta <script>alert('XSS')</script> e o navegador executa o script automaticamente. Outro cenário: um template aceita conteúdo bruto de um usuário e o renderiza sem validação, permitindo alteração da estrutura visual ou comportamento da página.

Cómo mitigar

Sempre escape ou codifique (encode) dados dinâmicos antes de renderizar em HTML — use Content Security Policy (CSP), bibliotecas de templating seguras e valide/sanitize entrada de usuários. Para conteúdo que deve permanecer HTML (como rich text), use allowlists de tags e atributos seguros em vez de blacklists.