Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain influence over MCP tool server_url input
-
DeliveryCraft suffix-host or userinfo bypass URL
-
ExploitSubmit URL passing unanchored regex validation
-
ExecutionMCP server issues HTTP request to attacker-controlled host
-
PersistAttacker returns spoofed MQA quality response
-
ImpactAI orchestrator consumes falsified quality data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires the ability to supply an arbitrary server_url value to the ckan_get_mqa_quality or ckan_get_mqa_quality_details MCP tools. In practice this means: (1) direct access to invoke MCP tool calls on the server (e.g., as an authorized user of the AI assistant), OR (2) successful prompt injection into an AI orchestrator that auto-invokes these tools with attacker-supplied parameters. The CVSS vector (PR:N, UI:N) reflects that no server-side authentication or user interaction gate is assumed, but realistically the MCP tool input channel must be reachable by or manipulable by the attacker. No special server configuration is required - the vulnerable regex was the default validation path for all invocations of the affected tools. Exploitation is limited to SSRF-style redirection and spoofed response injection; no remote code execution, lateral movement, or data exfiltration beyond request metadata is possible based on available data. |
| Impact | CVSS 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N) correctly characterizes the low complexity of the bypass and the network-reachable attack vector, but the impact metrics warrant scrutiny. The vendor scored I:N; an independent assessment finds I:L more accurate because a spoofed MQA response corrupts the data integrity of what the tool returns to the AI orchestrator. No EPSS score was provided in the intelligence data - this cannot be assessed. The vulnerability is not in CISA KEV, and no public exploit code exists at the time of analysis. Practical exploitability is constrained by a prerequisite not captured in the CVSS vector: an attacker must be able to inject or control the server_url argument passed to the MCP tool, which typically requires influence over the AI prompting pipeline (prompt injection), a malicious user session, or a compromised orchestrator. This reduces real-world risk below what the PR:N vector might suggest in isolation. The fix is confirmed and straightforward to deploy - organizations running CKAN MCP Server should upgrade but this does not warrant emergency response cadence absent specific exposure of the MCP tool input layer to untrusted users. |
| Exploit ScenarioDerived | An attacker who can influence the server_url argument in an MCP tool invocation - for example, via prompt injection into the AI assistant or direct access to the MCP interface - submits https://dati.gov.it@attacker.com/mqa. The unanchored regex accepts the URL, the MCP server issues an HTTP GET to attacker.com, and the attacker's server returns a crafted MQA quality response that the tool passes back to the AI orchestrator as legitimate government data. No public exploit code exists, but the bypass is trivially reproducible from the public advisory description. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 14, 2026
The ckan_get_mqa_quality and ckan_get_mqa_quality_details tools in CKAN MCP Server prior to 0.4.112 accept a server_url parameter validated only by a prefix-anchored regex, enabling attackers to bypass the dati.gov.it allowlist and redirect HTTP requests to attacker-controlled infrastructure via suffix-host (dati.gov.it.attacker.com) or RFC 3986 userinfo (dati.gov.it@attacker.com) techniques. The root cause is CWE-20 improper input validation - the regex tests only the string prefix, not the parsed hostname. No active exploitation has been identified and the vulnerability is not in CISA KEV; CVSS 5.3 reflects a medium-severity information disclosure path with no patch bypass complexity.
RemediationAI
Upgrade CKAN MCP Server to version 0.4.112 or later, confirmed as the fixed release at https://github.com/ondata/ckan-mcp-server/releases/tag/v0.4.112 and documented in the security advisory GHSA-83x6-42hr-jc76 (https://github.com/ondata/ckan-mcp-server/security/advisories/GHSA-83x6-42hr-jc76). The patch replaces the flawed regex allowlist with URL-parsed exact hostname comparison, rejecting both suffix-host and userinfo bypass variants. If immediate upgrade is not feasible, disable the ckan_get_mqa_quality and ckan_get_mqa_quality_details tools in the MCP server configuration - this eliminates the attack surface entirely but removes MQA data quality functionality. Alternatively, add input sanitization at the AI orchestrator or MCP client layer to reject server_url values containing @ characters or non-dati.gov.it hostnames before they reach the tool; this is a defense-in-depth measure only and should not substitute for the vendor patch.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CKAN MCP Server is a Model Context Protocol server that exposes CKAN open data portal APIs to AI orchestration pipelines. The vulnerable logic resides in src/tools/quality.ts, where isValidMqaServer tested server_url against the JavaScript regex /^https?:\/\/(www\.)?dati\.gov\.it/i - anchored at the start (^) but not the end. Without a terminal anchor or URL-aware parsing, two classic bypass classes apply: (1) suffix-host abuse, where a domain like dati.gov.it.attacker.com satisfies the prefix match; (2) RFC 3986 userinfo injection, where dati.gov.it@attacker.com passes the regex while the URL parser routes the request to attacker.com as the actual authority. CWE-20 (Improper Input Validation) is the precise root cause - the validator operates on raw string form rather than the semantically parsed URL hostname. The fix, visible in commit 8e1522f, replaces the ALLOWED_SERVER_PATTERNS regex array with a Set of exact hostnames (dati.gov.it, www.dati.gov.it) compared against new URL(serverUrl).hostname, eliminating both bypass classes. No CPE string is available in the provided intelligence data.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Network-accessible SSRF allowlist bypass; C:L for request metadata sent to attacker host, I:L added for spoofed response corrupting data integrity returned to caller.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
1DescriptionCVE.org
CKAN MCP Server is a tool for querying CKAN open data portals. Prior to 0.4.112, the ckan_get_mqa_quality and ckan_get_mqa_quality_details tools in src/tools/quality.ts use isValidMqaServer to validate the server_url parameter with a prefix-only regular expression for dati.gov.it, allowing suffix-host and URL-userinfo values to target an attacker-controlled host and return a spoofed response. This issue is fixed in version 0.4.112.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-58725
GHSA-83x6-42hr-jc76
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB