<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-04T07:59:17.418763+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-73844</id>
    <title>fkie_cve-2026-73844</title>
    <updated>2026-10-04T07:59:17.422774+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>CKAN MCP Server is a tool for querying CKAN open data portals. Prior to 0.4.112, error paths reflect raw upstream response bodies and internal exception messages back to the caller instead of a sanitized, generic message. When the server is pointed at (or redirected/SSRF'd to) a host that returns a non-CKAN response, or when an internal exception occurs, the caller receives verbatim upstream content and internal detail (hostnames, internal IPs, DB errors, stack fragments). This vulnerability is fixed in 0.4.112.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-73844"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-6f9w-9hf2-5rg3</id>
    <title>GHSA-6f9w-9hf2-5rg3 — CKAN MCP Server: Information disclosure via verbose error reflection</title>
    <updated>2026-10-04T07:59:17.422880+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: @aborruso/ckan-mcp-server</p>
<p>## Summary</p>
<p>Error paths reflect raw upstream response bodies and internal exception messages back to the caller instead of a sanitized, generic message. When the server is pointed at (or redirected/SSRF'd to) a host that returns a non-CKAN response, or when an internal exception occurs, the caller receives verbatim upstream content and internal detail (hostnames, internal IPs, DB errors, stack fragments).</p>
<p>## Affected code</p>
<p>`src/utils/http.ts` — the entire decoded upstream body is embedded in the thrown error, which `formatCkanError` returns to the tool result:</p>
<p>```js
} else {
  throw new CkanApiError(
    `CKAN API returned success=false: ${JSON.stringify(decodedData)}`,   // full body reflected
    undefined,
    action
  );
}
```</p>
<p>`src/worker.ts` — the catch-all handler returns the raw `Error.message` in the JSON-RPC `data` field:</p>
<p>```js
return new Response(JSON.stringify({
  jsonrpc: '2.0',
  error: { code: -32603, message: 'Internal error',
           data: error instanceof Error ? error.message : String(error) },  // raw internal message
  id: null
}), { status: 500, ... });
```</p>
<p>## Impact</p>
<p>- Reflects arbitrary upstream response content to the caller. Combined with the SSRF vectors (advisories #01/#06), an attacker can use this as the *read* channel: point the server at an internal endpoint and receive its body inside the `success=false` error string (turning otherwise-blind SSRF into a semi-blind/return-value SSRF for any host that reaches the guards).
- Leaks interna…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-6f9w-9hf2-5rg3"/>
  </entry>
</feed>
