This vulnerability occurs when an application allows user input to directly determine which variable or function name is used at runtime. Without strict validation, an attacker can manipulate these names to access or modify sensitive data, execute unauthorized functions, or disrupt the application's logic.
The core risk lies in the attacker's ability to influence the target of read, write, or execution operations. By injecting crafted variable or function names, they can bypass intended access controls, potentially leading to data exposure, privilege escalation, or arbitrary code execution. The specific impact depends entirely on what variables and functions are within reach of this manipulation. The severity and nature of the resulting exploit are determined by how the application uses these dynamically evaluated elements. An attacker's control can propagate through the program's data flow, affecting any code paths connected to the compromised variables or functions. Therefore, the damage isn't limited to a single point of injection but can extend to any dependent operations, amplifying the initial breach.
Impact: Modify Application DataExecute Unauthorized Code or Commands
An attacker could gain unauthorized access to internal program variables and execute arbitrary code.
Strategy: Refactoring
Strategy: Input Validation