GHSA-hjwh-xvfw-qrwj: SearXNG Basic Authentication Credentials Exposed Through MCP Logs and JSON-RPC Error Responses
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
Original advisory: https://github.com/advisories/GHSA-hjwh-xvfw-qrwj
More from GitHub Security Advisories
- highGHSA-rxjr-6c9q-h67x: logto-tunnel serves files outside --experience-path via path traversal2026-08-19
- lowGHSA-72x6-4j93-7w86: BuildKit has a possible runtime DoS via unbounded group parsing2026-08-19
- mediumGHSA-7236-3392-c5c6: BuildKit: Custom frontend could bypass Seccomp/AppArmor2026-08-19
- highGHSA-vwg3-w8w3-pc79: Grav: .htaccess file extension rules bypass via case variation on case-insensitive filesy…2026-08-19
- mediumGHSA-c8qc-wf67-342w: Snipe-IT: Stored DOM XSS via table selected-count IDs2026-08-19