{"id":"CVE-2026-33060","published":"2026-03-20T07:21:30Z","modified":"2026-03-24T01:56:33Z","title":"CKAN MCP Server: SSRF via base_url allows access to internal networks","vendor":"ondata","product":"ckan-mcp-server","tier":"tail","description":{"text":"CKAN MCP Server is a tool for querying CKAN open data portals. Versions prior to 0.4.85 provide tools including ckan_package_search and sparql_query that accept a base_url parameter, making HTTP requests to arbitrary endpoints without restriction. A CKAN portal client has no legitimate reason to contact cloud metadata or internal network services. There is no URL validation on base_url parameter. No private IP blocking (RFC 1918, link-local 169.254.x.x), no cloud metadata blocking. The sparql_query and ckan_datastore_search_sql tools also accept arbitrary base URLs and expose injection surfaces. An attack can lead to internal network scanning, cloud metadata theft (IAM credentials via IMDS at 169.254.169.254), potential SQL/SPARQL injection via unsanitized query parameters. Attack requires prompt injection to control the base_url parameter. This issue has been fixed in version 0.4.85.","provenance":"source","from":"CVE.org"},"cvss":{"score":5.3,"severity":"MEDIUM","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.00294,"percentile":0.2195,"provenance":"source"},"cwes":[{"id":"CWE-918","name":"Server-Side Request Forgery"}],"references":[{"url":"https://github.com/ondata/ckan-mcp-server/security/advisories/GHSA-3xm7-qw7j-qc8v","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/kysely-org/kysely/commit/0a602bff2f442f6c26d5e047ca8f8715179f6d24","tags":["x_refsource_MISC"]}],"priority":{"score":8.1,"factors":[{"name":"EPSS percentile","points":4.39},{"name":"CVSS severity","points":3.71}]},"vendorSlug":"ondata","affectedVersions":[{"vendor":"ondata","product":"ckan-mcp-server","versions":["< 0.4.85"]}],"affected":[{"ecosystem":"npm","package":"@aborruso/ckan-mcp-server","vulnerableRanges":["<0.4.85"],"patched":["0.4.85"],"from":["GHSA-3xm7-qw7j-qc8v"],"provenance":"source"}],"euvd":{"id":"EUVD-2026-13620","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-ondata-ckan-mcp-server-cve-2026-33060","children":[{"from":"CVE-2026-33060","to":"CVE-2026-53509","relation":"successor","confidence":"high","kind":"lineage","evidence":[{"kind":"osv-related","provenance":"source","id":"GHSA-3xm7-qw7j-qc8v","via":"related"},{"kind":"osv-related","provenance":"source","id":"GHSA-g84h-j7jj-x32p","via":"reference","url":"https://github.com/advisories/GHSA-3xm7-qw7j-qc8v"},{"kind":"version-step","provenance":"source","package":"npm:@aborruso/ckan-mcp-server","fromFixed":"0.4.85","toFixed":"0.4.106","daysApart":154}]},{"from":"CVE-2026-33060","to":"CVE-2026-61612","relation":"incomplete-fix","confidence":"high","kind":"lineage","evidence":[{"kind":"text","provenance":"source","relation":"incomplete-fix","quote":"Prior to version 0.4.108, the SSRF guard `validateServerUrl` (added for CVE-2026-33060, extended for CVE-2026-53509) validates only the hostname string and never resolves DNS.","from":"CVE.org","in":"CVE-2026-61612"},{"kind":"osv-related","provenance":"source","id":"GHSA-3xm7-qw7j-qc8v","via":"related"},{"kind":"osv-related","provenance":"source","id":"GHSA-798p-78g2-v556","via":"reference","url":"https://github.com/advisories/GHSA-3xm7-qw7j-qc8v"}]}],"packageHistory":[{"cve":"CVE-2026-33060","published":"2026-03-20","fixed":"0.4.85","kev":false},{"cve":"CVE-2026-53509","published":"2026-08-21","fixed":"0.4.106","kev":false},{"cve":"CVE-2026-61612","published":"2026-09-21","fixed":"0.4.108","kev":false},{"cve":"CVE-2026-73844","published":"2026-08-14","fixed":"0.4.112","kev":false}],"package":"npm:@aborruso/ckan-mcp-server"}}