Falhas do tipo CWE-914
8 resultadosControle inadequado de variáveis identificadas dinamicamente
Ocorre quando o código permite que usuários ou atacantes especifiquem nomes de variáveis, propriedades ou chaves que serão acessadas ou modificadas em tempo de execução, sem validação adequada. Isso permite manipular dados sensíveis ou lógica do programa através de entrada não controlada.
Um script PHP que recebe um parâmetro GET para determinar qual variável global acessar (ex: $_GET['var'] e depois usa $$_GET['var']) permite que um atacante leia ou modifique variáveis arbitrárias da aplicação, incluindo credenciais ou flags de autenticação.
Mantenha uma whitelist explícita de variáveis ou chaves permitidas e valide rigorosamente qual será acessada antes de qualquer operação dinâmica. Evite construções como variable variables ($$var) ou eval() com entrada do usuário; prefira estruturas de dados (arrays/dicionários) com chaves conhecidas e seguras.