Falhas do tipo CWE-1108

3 resultados

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

Exemplo

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.

Como mitigar

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.