Tainted flow: 'actual_url' from requests.get (line 75, network input) → requests.get (network output)
Medium
- Category
- Data Flow
- Content
actual_url = result_data['data']['url'] file_resp = requests.get(actual_url, headers=headers, stream=True, timeout=60) file_resp.raise_for_status() filename = f"{package}_{version}_{arch}.deb"- Confidence
- 88% confidence
- Finding
- The code takes a download URL from a remote API response and immediately issues a second request to that URL without validating the scheme, host, or expected file type. If the upstream API is compromised, spoofed, or returns attacker-controlled data, this can trigger server-side requests to unintended destinations and download untrusted content to disk.
