Tainted flow: 'api_url' from os.environ.get (line 133, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
if md_return_image: data["md_image_format"] = md_image_format response = requests.post(api_url, headers=headers, files=files, data=data, timeout=120) if response.status_code == 200: result = response.json()- Confidence
- 97% confidence
- Finding
- The request target is derived from a configurable base URL loaded from environment variables or config.json, and the code then uploads the specified local file to that endpoint with the Authorization header. If an attacker can influence configuration, they can redirect sensitive document contents and the API token to an arbitrary server, creating an SSRF/exfiltration channel.
