highCVSS 8.8Vulnerability

GHSA-4pcv-mg8v-vrgf

### Summary A Server-Side Request Forgery (SSRF) vulnerability in the SearxNG / `search_web` search tools allows an attacker to make the server perform requests to arbitrary internal endpoints and read the responses back. The `searxng_url` argument is passed directly to `requests.get()` with no validation of scheme, host, or port. Because `searxng_url` is exposed to the LLM as a tool parameter and `search_web` / `searxng_search` are part of the default agent toolset, the vulnerability is reachable through prompt injection in any content an agent ingests (web pages, files, tool output). This enables reading internal services and APIs, internal host/port enumeration, and in cloud environments reachability of the instance metadata endpoint (169.254.169.254) with potential IAM/credential exposure. ### Details The SearxNG search provider performs no validation on the `searxng_url` argument before issuing the HTTP request. `src/praisonai-agents/praisonaiagents/tools/searxng_tools.py` (lines 16–47): ```python def searxng_search( query: str, max_results: int = 5, searxng_url: Optional[str] = None ) -> List[Dict]: ... url = searxng_url or "http://localhost:32768/search" # line 42 params = { 'q': query, 'format': 'json', ... } response = requests.get(url, params=params, timeout=10) # line 45 — no validation response.raise_for_status() ``` The same unvalidated pattern exists in the unified `search_web` dispatcher: `src/praisonai-agents/praisonaiagents/tools/web_search.py` (lines 235–247): ```python def _search_searxng(query: str, max_results: int = 5, searxng_url: Optional[str] = None): ... url = searxng_url or os.environ.get("SEARXNG_URL", "http://localhost:32768/search") # line 239 ... response = requests.get(url, params=params, timeout=10) # line 247, no validation ``` `searxng_url` is accepted as a parameter on the public `search_web()` entry point (`web_search.py`, line 277) and i

Properties

ghsa_id
GHSA-4pcv-mg8v-vrgf
summary
PraisonAI: Server-Side Request Forgery (SSRF) in SearxNG / search_web tools via attacker-controlled searxng_url parameter
severity
high
cvss_score
8.8
cve_id
GHSA-4pcv-mg8v-vrgf
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L
is_ghsa_only
true
ghsa_published
2026-06-18T14:27:12Z
source_url
https://github.com/advisories/GHSA-4pcv-mg8v-vrgf
ghsa_updated
2026-06-18T14:27:13Z

Related Entities (5)

HAS_WEAKNESS (2)

[Weakness]Improper Input Validation
[Weakness]Server-Side Request Forgery (SSRF)

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (1)

[Software]pip/praisonaiagents

AFFECTS (1)

[Software]pip/praisonaiagents

Explore deeper with Ninja Signal's threat intelligence graph