mcp-searxng: SSRF in web_url_read: the internal-address guard is disabled by default (MCP_HTTP_HARDEN off)
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-918 and the CVSS impact.
Summary
mcp-searxng is a Model Context Protocol server that gives AI assistants web search and URL-reading capabilities through SearXNG. Prior to 1.2.0, web_url_read passes a caller-supplied URL to the server-side fetch path while assertUrlAllowed() in src/url-reader.ts runs only when MCP_HTTP_HARDEN is enabled, even though MCP_HTTP_HARDEN is disabled by default in src/http-security.ts. In the default configuration, an attacker who influences the URL selected by a user or AI agent can make the server fetch loopback, private-network, or cloud metadata endpoint resources and return their contents into the model context. file:// URLs remain rejected, and the separate DNS-resolution and redirect-validation bypasses are outside this record. This issue is fixed in version 1.2.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| ihor-sokoliuk | mcp-searxng | before 1.2.0 | 1.2.0 | Patch available | CNA |
| — | mcp-searxng (npm) | before 1.2.1 | 1.2.1 | Patch available | GHSA-q87f-qc2r-2gw4 |
- mcp-searxng Vendorihor-sokoliuk Affected before 1.2.0 Fixed in 1.2.0 Patch available CNA
- mcp-searxng (npm) Vendor— Affected before 1.2.1 Fixed in 1.2.1 Patch available GHSA-q87f-qc2r-2gw4
Remediation
- Fix · CNA mcp-searxng (ihor-sokoliuk) Fixed in 1.2.0
- Fix · GHSA-q87f-qc2r-2gw4 mcp-searxng (npm) Fixed in 1.2.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-54688
- 2026-10-03 Alias added: GHSA-q87f-qc2r-2gw4
References
Other 6
- https://github.com/ihor-sokoliuk/mcp-searxng/security/advisories/GHSA-q87f-qc2r-2gw4
- https://github.com/ihor-sokoliuk/mcp-searxng/issues/87#issuecomment-4645453694
- https://github.com/ihor-sokoliuk/mcp-searxng/commit/48e5ecdcb4166a60b94c252dbe74b0a318110ac4
- https://github.com/ihor-sokoliuk/mcp-searxng/releases/tag/v1.2.0
- https://github.com/ihor-sokoliuk/mcp-searxng
- https://github.com/ihor-sokoliuk/mcp-searxng/releases/tag/v1.2.1
More ihor-sokoliuk vulnerabilities
- TI-2026-42087 mcp-searxng: Unbounded Response Body Read Bypasses URL Size Limit in `web_url_read` CVSS 3.1HIGH 7.5
- TI-2026-42089 mcp-searxng: DNS-resolved Private Hostname SSRF in `web_url_read` CVSS 3.1HIGH 7.1
- TI-2026-39510 mcp-searxng hardened-mode SSRF bypasses permit internal URL access CVSS 3.1MEDIUM 6.3
Sources
- CVE-2026-54688 · CVE Program
- CVE-2026-54688 · NVD
- FIRST EPSS
- GHSA-q87f-qc2r-2gw4 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences