Tainted flow: 'base_url' from input (line 141, user input) → requests.post (network output)
Medium
- Category
- Data Flow
- Content
import requests base_url = _get_base_url() try: resp = requests.post(f"{base_url}/admin/login", data={'username': args.username, 'password': args.password}, allow_redirects=False, timeout=30) except requests.exceptions.RequestException as e:- Confidence
- 89% confidence
- Finding
- The base URL is sourced from project files, environment variables, or interactive user input and is used directly to send admin credentials to /admin/login. This can enable SSRF-like behavior or credential exfiltration to an attacker-controlled endpoint if the base URL is tampered with, which is especially sensitive because the function explicitly transmits username and password.
