Weaknesses of type CWE-1282
8 resultsDados assumidos como imutáveis armazenados em memória gravável
O código assume que certos dados (como constantes, configurações críticas ou valores de segurança) não serão modificados, mas os armazena em memória que pode ser alterada em tempo de execução. Um atacante pode sobrescrever esses dados em memória, mudando o comportamento do programa sem alterar o código fonte.
Um programa carrega uma chave de criptografia ou um identificador de permissão em uma variável global durante a inicialização, acreditando que não será alterada. Um atacante explorador de memória consegue sobrescrever essa variável e contornar verificações de segurança ou acessar recursos protegidos.
Utilize marcadores de memória protegida (como `const` em linguagens de tipagem forte), armazene dados sensíveis em segmentos de memória somente leitura quando possível, valide novamente dados críticos antes de cada uso, e implemente proteções contra escrita em memória (ex: SELinux, W^X). Para dados realmente imutáveis, considere criptografia ou assinatura digital.