Weaknesses of type CWE-1046
2 resultsCriação de texto imutável por concatenação de strings
A fraqueza ocorre quando o desenvolvedor tenta criar strings imutáveis (constantes) usando concatenação de strings em tempo de execução, ao invés de declarar constantes verdadeiras. Isso resulta em objetos mutáveis que podem ser alterados, comprometendo a integridade de dados sensíveis como senhas, tokens ou chaves criptográficas que deveriam ser protegidos.
Em Java, concatenar strings dinâmicas para formar uma constante de segurança (ex: senha padrão ou chave de API) usando `String pwd = "admin" + "123"` em vez de `static final String pwd = "admin123"` permite que a string seja sobrescrita em memória durante a execução, facilitando ataques ou vazamento de dados.
Use declarações de constantes imutáveis (`final` em Java, `const` em C/C++, etc.) e evite concatenação dinâmica para dados sensíveis. Armazene credenciais e chaves em estruturas apropriadas (keystores, vaults, variáveis de ambiente) ao invés de strings literais no código.