Tainted flow: 'req' from os.environ.get (line 72, 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
- 93% confidence
- Finding
- The request is sent to a URL derived from the environment variable LINKFOX_TOOL_GATEWAY, so an attacker who can influence the runtime environment can redirect traffic to an arbitrary server and receive the Authorization API key plus request contents and metadata headers. This is a real SSRF/exfiltration risk because the code performs no allowlisting, certificate pinning, or validation of the gateway host before calling urlopen.
