Tainted flow: 'req' from os.environ.get (line 231, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
if audio_url: # Download audio from returned URL req = urllib.request.Request(audio_url, headers={"User-Agent": USER_AGENT}) audio_resp = urllib.request.urlopen(req, timeout=60) audio_data = audio_resp.read() out = Path(args.output) if args.output else Path(f"/tmp/venice-tts-{int(dt.datetime.now().timestamp())}.mp3") out.write_bytes(audio_data)- Confidence
- 90% confidence
- Finding
- The code blindly fetches audio from a URL returned by the remote API without validating scheme, host, or size. If the upstream service is compromised or malicious, this can trigger server-side request forgery style access from the client context, unexpected local-network requests, or large unbounded downloads to disk.
