Tainted flow: 'vr' from os.environ.get (line 41, credential/environment) → subprocess.run (code execution)
Medium
- Category
- Data Flow
- Content
try: vr = _resolve_vault_bin() proc = subprocess.run( [vr, "resolve"], input=input_data.encode(), capture_output=True,- Confidence
- 83% confidence
- Finding
- The executable path ultimately comes from the VAULT_RESOLVER_BIN environment variable, so a local attacker or untrusted execution environment could redirect the script to run an attacker-controlled binary. Although the code verifies that the target exists and is executable and does not invoke a shell, it still trusts environment-controlled code execution for a component that handles SSH private keys.
