Falhas do tipo CWE-153

5 resultados

Neutralização inadequada de caracteres de substituição

Ocorre quando a aplicação falha em neutralizar ou escapar caracteres especiais que podem ser interpretados como metacaracteres em contextos de substituição de strings. Um atacante injeta caracteres como $, &, ou sequências de escape que, durante uma operação de substituição ou template, são expandidos de forma não intencional, levando a execução de código arbitrário ou acesso a dados sensíveis.

Exemplo

Uma aplicação realiza substituição de variáveis em templates usando regex ou função replace(). Se um valor de entrada contém $1 ou ${var}, dependendo da função usada (como em JavaScript ou backend), essas sequências podem ser interpretadas como referências de grupo ou variáveis, não como literal, e expandidas para valores inesperados ou injetar conteúdo malicioso.

Como mitigar

Escape todos os caracteres especiais do contexto de substituição antes de usar strings em operações de substituição ou template. Use APIs de template seguro (como template literals com sanitização) ou funções que tratam o padrão como literal, nunca como expressão regular dinâmica. Valide e restrinja caracteres permitidos em valores de entrada.