Tainted flow: 'BASE_URL' from os.environ.get (line 7, credential/environment) → requests.get (network output)
Critical
- Category
- Data Flow
- Content
def main(): try: r = requests.get(BASE_URL, timeout=5) if r.status_code == 200: print(f"OK: SearXNG reachable at {BASE_URL}") sys.exit(0)- Confidence
- 88% confidence
- Finding
- The script sends an HTTP request to a URL taken directly from the SEARXNG_BASE_URL environment variable without validating that it remains localhost-only. An attacker who can influence the environment can force the healthcheck to contact arbitrary internal or external endpoints, creating an SSRF primitive and potentially causing misleading health status or unintended network access.
