Weaknesses of type CWE-1108
3 resultsDependência excessiva de variáveis globais
Variáveis globais usadas intensivamente tornam o código frágil: mudanças não esperadas em um lugar afetam comportamento distante, efeitos colaterais se propagam sem visibilidade, e testes se tornam não-determinísticos. Em contextos de segurança, isso permite que um atacante manipule estado compartilhado para desviar lógica crítica ou escalar privilégios.
Uma variável global de 'modo administrador' é setada em um ponto do código e lida em outro sem sincronização clara. Um atacante força uma condição de corrida (race condition) ou injeta código que altera essa flag, elevando privilégios sem autenticação adequada.
Reduza variáveis globais ao mínimo, encapsule estado em objetos/classes com controle de acesso explícito, use padrões como injeção de dependência para passar estado necessário, e implemente validações de segurança no ponto de uso, não apenas onde o estado é modificado.