Tainted flow: 'req' from os.environ.get (line 70, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
method="POST", ) try: with urlopen(req, timeout=150) as response: return json.loads(response.read().decode("utf-8")) except HTTPError as e: body = e.read().decode("utf-8") if e.fp else ""- Confidence
- 97% confidence
- Finding
- The request sent via urlopen includes attacker-influenced environment data in headers, most notably SESSION_ID, MODE_ID, APP_NAME, and an API key, while the destination base URL is also overridable through LINKFOX_TOOL_GATEWAY. In an agent environment, this creates a real exfiltration path: a malicious or tampered environment can redirect authenticated requests and associated metadata to an arbitrary server, leaking secrets and user/session context.
