Falhas do tipo CWE-1108
3 resultadosDependência excessiva de variáveis globais
A fraqueza ocorre quando o código depende demasiadamente de variáveis globais para armazenar estado crítico ou lógica de negócio. Isso dificulta manutenção, testes e introduz riscos de segurança: mudanças inesperadas de estado podem afetar múltiplas partes do programa, efeitos colaterais ficam ocultos, e torna-se mais fácil contornar validações ou injetar dados maliciosos através da manipulação desse estado compartilhado.
Uma aplicação mantém um objeto de usuário autenticado em uma variável global. Um ataque de race condition ou mudança lateral de estado consegue sobrescrever esse objeto, fazendo a aplicação executar operações com permissões elevadas ou dados de outro usuário sem passar pelas camadas de autenticação esperadas.
Minimize o escopo das variáveis — use injeção de dependência, passagem explícita de parâmetros entre funções, e mantenha estado em objetos com controle de acesso bem definido. Implemente testes unitários que isolem componentes, reduzindo o acoplamento a estado global.