ZeroHour

CVE-2026-58483

niche

Unbounded Memory Consumption DoS in mcp-searxng MCP Server

CVSS 3.1
7.5 high
EPSS
Published
()
Modified
AI analysis

mcp-searxng, a Model Context Protocol (MCP) server that gives AI assistants web search and URL-reading capabilities via SearXNG, contains an uncontrolled resource consumption flaw (CWE-400) in its web_url_read tool. In versions prior to 1.7.1, the URL reader's checkContentLength() preflight treats a missing Content-Length header as inconclusive, and both the normal and error code paths then consume the entire response body with response.text(), so a malicious or misbehaving web server can return a huge body without a Content-Length header and bypass the URL_READ_MAX_CONTENT_LENGTH_BYTES limit. The resulting oversized string is additionally processed by NodeHtmlMarkdown.translate(), amplifying CPU cost, which allows an unauthenticated HTTP client interacting with the MCP server to exhaust memory and CPU and cause denial of service. Anyone running the mcp-searxng MCP server on a version before 1.7.1 is affected. The issue is fixed in version 1.7.1, and no public proof of concept or known exploitation in the wild has been reported.

What to do: Upgrade mcp-searxng to version 1.7.1 or later, which enforces the content-length limit even when the Content-Length header is absent. Until patched, restrict access to the MCP server endpoint (do not expose it to unauthenticated HTTP clients), and consider placing it behind a rate-limiting or body-limiting reverse proxy. Monitor Node process memory and CPU for unexpected spikes that could indicate abuse of the web_url_read tool.

Affected
mcp-searxng (open-source project) mcp-searxngall versions prior to 1.7.1
Estimated exposure
nichelikely hundreds to low thousands of self-hosted developer/AI-assistant MCP deployments; exact count unknown — mcp-searxng is an npm-distributed open-source MCP server typically self-hosted by individual developers and AI assistant users, and no public install or active-instance counts were available, so this is a deployment-pattern-based estimate.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

mcp-searxng is a Model Context Protocol server that gives AI assistants web search and URL-reading capabilities through SearXNG. Prior to 1.7.1, web_url_read in src/index.ts passes a caller-supplied URL to readUrlContent() in src/url-reader.ts, where checkContentLength() treats a missing Content-Length header as an inconclusive preflight and the normal and error paths then consume the complete body with response.text(). A server that omits Content-Length can therefore bypass URL_READ_MAX_CONTENT_LENGTH_BYTES and force unbounded memory use. The resulting string is also processed by NodeHtmlMarkdown.translate(), increasing CPU consumption and allowing an unauthenticated HTTP client to cause denial of service. This issue is fixed in version 1.7.1.

Weakness
CWE-400
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

In the news

No ingested article mentions this CVE yet.