CVE-2026-58483: mcp-searxng is a Model Context Protocol server that gives AI assistants web search and URL-reading capabilities through SearXNG. Prior to 1.

CVE-2026-58483 · Severity: high · CVSS 7.5 · Published 2026-09-15

mcp-searxng is an MCP server that allows AI agents to fetch and read web content via the web_url_read tool. A remote attacker can force unbounded memory and CPU consumption by serving a web response without a Content-Length header, bypassing the tool's 5 MiB size limit and causing the server process to hang or crash, disrupting service availability for all users.

Technologies: mcp-searxng (npm). Vendors: npm.

Quick answers

Is CVE-2026-58483 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-58483 being exploited in the wild.
How severe is CVE-2026-58483?
High severity, with a CVSS score of 7.5, published 15 September 2026.
Which products and versions are affected?
mcp-searxng (npm) SEMVER:introduced=0,fixed=1.7.1.
Is there a fix for CVE-2026-58483?
Yes. mcp-searxng (npm): upgrade to 1.7.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-58483 attacked?
It is attacked over the network.
Am I affected by CVE-2026-58483?
Check whether you run mcp-searxng (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • mcp-searxng (npm): upgrade to 1.7.1 or later
    npm install mcp-searxng@1.7.1

Technical details

This is an uncontrolled resource consumption (denial of service) vulnerability in the web_url_read MCP tool. The vulnerable code relies on a HEAD request to check the Content-Length header before fetching the full response body. However, when a server omits Content-Length—which is valid HTTP behavior—the checkContentLength() function returns null, causing the guard condition (contentLength !== null) to evaluate false and bypass the 5 MiB size check entirely. The subsequent GET request via response.text() then loads the unbounded response body into memory without any cap, amplified by CPU-intensive HTML-to-Markdown conversion. An unauthenticated attacker in HTTP transport mode (the default) can trigger this by supplying a URL to a malicious endpoint; in stdio mode, prompt injection can force the AI model to call the tool with an attacker-controlled URL. The vendor released patched version 1.7.1 addressing the issue by implementing streaming response reading with byte limits.

Affected products

  • ihor-sokoliuk mcp-searxng <=1.6.0

Identifiers

  • CVE-2026-58483
  • GHSA-xcqx-9jf5-w339

Timeline

  • 2026-06-18: disclosed
  • 2026-06-19: patched: Version 1.7.1 released with streaming response reader fix

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.