Fallos del tipo CWE-1046

2 resultados

Criação de texto imutável através de concatenação de strings

A fraqueza ocorre quando o desenvolvedor tenta criar strings imutáveis (constantes de texto) usando concatenação em tempo de execução, em vez de defini-las como constantes literais. Isso resulta em overhead desnecessário de performance, possível mutabilidade não intencional e dificuldade de manutenção, além de risco de vulnerabilidades se a concatenação envolver dados não confiáveis.

Ejemplo

Um desenvolvedor constrói uma mensagem de erro usando concatenação dinâmica a cada execução (ex: `msg = 'ERRO' + ': ' + tipo_erro`) quando deveria ter uma constante pré-definida (`ERRO_MSG = 'ERRO: '`). Se essa string for usada em validações ou logs de segurança, pode haver inconsistência ou exposição acidental de dados sensíveis.

Cómo mitigar

Defina strings que não mudam como constantes literais no nível de módulo ou classe, use templates de string parametrizadas, e evite concatenação em loops ou operações repetidas. Ferramentas de análise estática conseguem detectar padrões de concatenação repetida que poderiam ser constantes.