Tainted flow: 'req' from os.environ.get (line 73, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
method="POST", ) try: with urlopen(req, timeout=120) 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
- 94% confidence
- Finding
- The request URL and several outbound headers are derived from environment variables, including LINKFOX_TOOL_GATEWAY, SESSION_ID, MESSAGE_ID, MODE_ID, and APP_NAME, and are sent directly over the network. In an agent/runtime context where environment variables may be attacker-influenced, this enables SSRF-like redirection to an arbitrary endpoint and unauthorized exfiltration of execution metadata and the API key-bearing request.
