Tainted flow: 'grobid_url' from os.getenv (line 247, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
'consolidateCitations': '1' } # Set timeout to 5 minutes response = requests.post(grobid_url, files=files, data=data, timeout=300) print(f"Grobid response status code: {response.status_code}")- Confidence
- 88% confidence
- Finding
- The code posts local PDF contents to a URL derived from GROBID_API_URL without constraining that destination. If the environment variable is modified to point to an attacker-controlled host, sensitive local documents can be exfiltrated over the network, which is especially risky because this function accepts local file paths and automatically uploads file contents.
