Weaknesses of type CWE-914

8 results

Controle inadequado de variáveis identificadas dinamicamente

Ocorre quando a aplicação permite que nomes de variáveis sejam construídos ou recebidos dinamicamente (por entrada do usuário ou dados não confiáveis) sem validação adequada. Um atacante pode acessar, modificar ou executar variáveis sensíveis que não deveriam estar acessíveis, contornando controles de segurança pretendidos.

Example

Um sistema recebe um nome de variável como parâmetro (ex: `eval('$' . $_GET['var'])`) e executa-a diretamente. Um atacante pode passar 'admin_token' ou 'is_authenticated' para acessar ou sobrescrever valores críticos armazenados em variáveis globais.

How to mitigate

Nunca construa nomes de variáveis a partir de entrada não confiável. Use whitelist rigorosa de variáveis permitidas, evite `eval()` e funções de interpretação dinâmica, e prefira estruturas de dados explícitas (arrays/dicts chaveados) com validação de chaves conhecidas.