Skip to content
MediumVulnerability

GHSA-78x9-fhhx-v2g6: CKAN MCP Server: Cache-key canonicalization collision enables cache confusion / poisoning

Published
Record updated
View JSON
Affected
  • @aborruso/ckan-mcp-server < 0.4.112
Fixed in
0.4.112
  • released July 9, 2026, 56 days before disclosure
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.2%

Summary

The CKAN MCP Server response cache builds its key from an ambiguous serialization of request parameters, because canonicalizeParams does not escape the & and = delimiters or the | separator used in buildCacheKey. Two distinct parameter sets can therefore produce the same key, so an attacker who primes a colliding entry on a shared cache can cause another client's different query to receive the attacker's cached response.

Mitigation

Build the cache key from an unambiguous, injection-proof encoding: hash a structured, canonical JSON with typed values, or percent-encode or escape each key and value before joining, using a separator that cannot appear in the encoded fields. Include a type tag so object and string values never coincide. Consider partitioning the cache per client or tenant on shared deployments.