Tainted flow: 'req' from os.environ.get (line 111, 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
- 84% confidence
- Finding
- The request sent by `urlopen` includes sensitive credentials and metadata sourced from environment variables, and the destination base URL is also overrideable through `LINKFOX_TOOL_GATEWAY`. If an attacker can influence the environment, they can redirect requests and exfiltrate the API key and session identifiers to an attacker-controlled endpoint.
