CSIRTS // UNIFIED SECURITY ADVISORY FEEDSYS ● ONLINE · POWERED BY INTELFUSIONS.COM

GHSA-hjwh-xvfw-qrwj: SearXNG Basic Authentication Credentials Exposed Through MCP Logs and JSON-RPC Error Responses

mediumCVSS 5.5
Summary mcp-searxng version 1.11.0 exposes SearXNG Basic Authentication credentials embedded in the SEARXNG_URL environment variable. When the server starts in STDIO mode and an MCP client connects, the complete SEARXNG_URL, including its username and password, is sent to the client through an MCP notifications/message logging notification. Additionally, when URL validation fails, the complete credential-bearing URL is included in the configuration error. This error is logged through MCP and returned to the client as a JSON-RPC error response. For example, a value such as: http://username:password@searxng.example.com is exposed without redaction. A connected MCP client or anyone with access to captured server logs may recover the SearXNG credentials and use them to access the configured SearXNG instance. The issue was confirmed in: mcp-searxng 1.11.0 Suggested severity: Medium Details mcp-searxng supports SearXNG Basic Authentication by embedding credentials in the URL userinfo component: https://username:password@searxng.example.com The project contains a redaction function named redactSearxngInstanceUrl(), but it is not used in several logging and error-handling paths. Startup console disclosure In src/index.ts:373-378, the server retrieves the raw SearXNG URLs and writes them directly to stderr: const searxngInstances = getSearxngInstances(); if (searxngInstances.length > 0) { console.error(🌐 SearXNG URLs: ${searxngInstances.join("; ")}); } getSearxngInstances() returns the unmodified environment-variable values. Relevant code in src/searxng-instances.ts:25-38: export function parseSearxngUrls( raw: string | undefined = process.env.SEARXNG_URL ): string[] { if (raw === undefined) { return []; } return raw .split(";") .map((entry) => entry.trim()) .filter((entry) => entry !== ""); } export function getSearxngInstances(): string[] { return parseSearxngUrls(); } MCP logging notification disclosure After the MCP client connects, src/index.ts

Details

Source
GitHub Security Advisories (INTL · database · site)
Severity
medium — CVSS 5.5
Published
2026-08-19
Last updated
2026-08-19
Exploitation
Not in CISA KEV at last sync

Original advisory: https://github.com/advisories/GHSA-hjwh-xvfw-qrwj

More from GitHub Security Advisories