Tainted flow: 'pdf_url' from os.environ.get (line 493, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
) as temp_file: temp_path = Path(temp_file.name) try: with urllib.request.urlopen( pdf_url, timeout=DOWNLOAD_TIMEOUT_SECONDS, context=VERIFIED_SSL_CONTEXT,- Confidence
- 97% confidence
- Finding
- The script downloads `pdf_url` directly from the remote conversion service response without validating the scheme, host, or redirect behavior. If the upstream service, polling endpoint, or network path is compromised, this creates an SSRF-style primitive and can cause the agent to make arbitrary outbound requests, potentially reaching internal services or downloading attacker-controlled content to disk.
