<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Wed, 07 Oct 2026 11:51:43 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-54689</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-54689</link>
      <description>&lt;p&gt;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, the web_url_read URL policy in src/url-reader.ts can be bypassed while MCP_HTTP_HARDEN is enabled and MCP_HTTP_ALLOW_PRIVATE_URLS is not enabled because redirect targets are not revalidated, 0.0.0.0 is not classified as an internal address, and IPv4-mapped IPv6 literals canonicalized to hexadecimal form are not recognized. These inputs allow an attacker-influenced tool call to make the MCP server fetch loopback or internal HTTP resources and return content from local services, private APIs, service-mesh endpoints, or cloud metadata endpoints. The separate hostname-to-private-address case addressed by the earlier partial fix is not part of these residual bypasses. This issue is fixed in version 1.2.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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, the web_url_read URL policy in src/url-reader.ts can be bypassed while MCP_HTTP_HARDEN is enabled and MCP_HTTP_ALLOW_PRIVATE_URLS is not enabled because redirect targets are not revalidated, 0.0.0.0 is not classified as an internal address, and IPv4-mapped IPv6 literals canonicalized to hexadecimal form are not recognized. These inputs allow an attacker-influenced tool call to make the MCP server fetch loopback or internal HTTP resources and return content from local services, private APIs, service-mesh endpoints, or cloud metadata endpoints. The separate hostname-to-private-address case addressed by the earlier partial fix is not part of these residual bypasses. This issue is fixed in version 1.2.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-54689</guid>
    </item>
    <item>
      <title>GHSA-wppf-h75h-6pm6 — SearXNG MCP Server: Additional hardened-mode SSRF bypasses</title>
      <link>https://db.gcve.eu/vuln/ghsa-wppf-h75h-6pm6</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: mcp-searxng&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`mcp-searxng` has a hardened-mode URL-reading feature intended to prevent `web_url_read` from reaching private or internal network resources.&lt;/p&gt;
&lt;p&gt;PR #79 appears to address one SSRF class: hostnames that resolve to private or internal addresses under hardened mode. I tested PR #79 locally and confirmed that it blocks the DNS-resolves-to-loopback case.&lt;/p&gt;
&lt;p&gt;However, several other hardened-mode SSRF bypasses still appear to remain:&lt;/p&gt;
&lt;p&gt;1. Redirects from an allowed first-hop URL to a loopback/internal URL are followed without re-validating the redirect target.
2. `0.0.0.0` is not treated as an internal/special address.
3. IPv4-mapped IPv6 literals can bypass private-address checks after URL canonicalization.&lt;/p&gt;
&lt;p&gt;With hardened mode enabled and private URLs not explicitly allowed, `web_url_read` was still able to fetch and return content from a local loopback sentinel service in all three cases.&lt;/p&gt;
&lt;p&gt;## Tested configuration&lt;/p&gt;
&lt;p&gt;```bash
MCP_HTTP_HARDEN=true
MCP_HTTP_ALLOW_PRIVATE_URLS unset
```&lt;/p&gt;
&lt;p&gt;The MCP server was driven over stdio.&lt;/p&gt;
&lt;p&gt;The test target was a harmless internal sentinel HTTP service bound to:&lt;/p&gt;
&lt;p&gt;```text
127.0.0.1:6789
```&lt;/p&gt;
&lt;p&gt;The sentinel response contained:&lt;/p&gt;
&lt;p&gt;```text
INTERNAL_SECRET_DATA__mcp_searxng_ssrf_path2
```&lt;/p&gt;
&lt;p&gt;## Relationship to PR #79&lt;/p&gt;
&lt;p&gt;I tested PR #79 locally:&lt;/p&gt;
&lt;p&gt;- PR: `fix(url-reader): block DNS-rebinding SSRF via socket-level lookup guard (CWE-918) #79`
- PR commit tested: `e55d28e7be6786a71cd7a0eaf13d3ec9d0b734d4`
- Base issue class: CWE-918 / SSRF in `web_url_read`
- Harden…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: mcp-searxng&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`mcp-searxng` has a hardened-mode URL-reading feature intended to prevent `web_url_read` from reaching private or internal network resources.&lt;/p&gt;
&lt;p&gt;PR #79 appears to address one SSRF class: hostnames that resolve to private or internal addresses under hardened mode. I tested PR #79 locally and confirmed that it blocks the DNS-resolves-to-loopback case.&lt;/p&gt;
&lt;p&gt;However, several other hardened-mode SSRF bypasses still appear to remain:&lt;/p&gt;
&lt;p&gt;1. Redirects from an allowed first-hop URL to a loopback/internal URL are followed without re-validating the redirect target.
2. `0.0.0.0` is not treated as an internal/special address.
3. IPv4-mapped IPv6 literals can bypass private-address checks after URL canonicalization.&lt;/p&gt;
&lt;p&gt;With hardened mode enabled and private URLs not explicitly allowed, `web_url_read` was still able to fetch and return content from a local loopback sentinel service in all three cases.&lt;/p&gt;
&lt;p&gt;## Tested configuration&lt;/p&gt;
&lt;p&gt;```bash
MCP_HTTP_HARDEN=true
MCP_HTTP_ALLOW_PRIVATE_URLS unset
```&lt;/p&gt;
&lt;p&gt;The MCP server was driven over stdio.&lt;/p&gt;
&lt;p&gt;The test target was a harmless internal sentinel HTTP service bound to:&lt;/p&gt;
&lt;p&gt;```text
127.0.0.1:6789
```&lt;/p&gt;
&lt;p&gt;The sentinel response contained:&lt;/p&gt;
&lt;p&gt;```text
INTERNAL_SECRET_DATA__mcp_searxng_ssrf_path2
```&lt;/p&gt;
&lt;p&gt;## Relationship to PR #79&lt;/p&gt;
&lt;p&gt;I tested PR #79 locally:&lt;/p&gt;
&lt;p&gt;- PR: `fix(url-reader): block DNS-rebinding SSRF via socket-level lookup guard (CWE-918) #79`
- PR commit tested: `e55d28e7be6786a71cd7a0eaf13d3ec9d0b734d4`
- Base issue class: CWE-918 / SSRF in `web_url_read`
- Harden…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-wppf-h75h-6pm6</guid>
    </item>
  </channel>
</rss>
