Weaknesses of type CWE-1108

3 results

Dependê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.

Example

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.

How to mitigate

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.