CVE-2025-54384: PYSEC-2026-1247 - CKAN vulnerable to stored XSS in resource description

CVE-2025-54384 · Severity: medium · CVSS 6.3 · Published 2025-10-29

CKAN is an open-source data management platform used by organizations to publish and share datasets. The helpers.markdown_extract() function fails to properly sanitize user-supplied text before rendering it as HTML, allowing attackers with login credentials to inject malicious scripts into resource descriptions. When other users view these pages, the injected code executes in their browsers, potentially stealing session tokens or sensitive data.

Technologies: CKAN, ckan (PyPI). Vendors: CKAN, PyPI.

Quick answers

Is CVE-2025-54384 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2025-54384 being exploited in the wild.
How severe is CVE-2025-54384?
Medium severity, with a CVSS score of 6.3, published 29 October 2025.
Which products and versions are affected?
CKAN before 2.10.9 and before 2.11.4; ckan (PyPI) ECOSYSTEM:introduced=0,fixed=2.10.9,introduced=2.11.0,fixed=2.11.4.
Is there a fix for CVE-2025-54384?
Yes. ckan (PyPI): upgrade to 2.11.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2025-54384 attacked?
It is attacked over the network.
Am I affected by CVE-2025-54384?
Check whether you run CKAN or ckan (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • ckan (PyPI): upgrade to 2.11.4 or later
    pip install "ckan>=2.11.4"

Technical details

This is a stored cross-site scripting (XSS) vulnerability in the helpers.markdown_extract() function, which processes markdown input and wraps it in HTML without sufficient output encoding. The vulnerability affects dataset, resource, organization, and group pages, as well as any extension using this helper. An authenticated attacker can inject JavaScript payload into description fields; when a victim visits the page, the script executes in their browser context with their privileges. The vulnerability requires authentication and user interaction (victim viewing the page). Patches are available in CKAN 2.10.9 and 2.11.4.

Affected products

  • CKAN CKAN before 2.10.9 and before 2.11.4

Identifiers

  • CVE-2025-54384
  • GHSA-2r4h-8jxv-w2j8
  • PYSEC-2026-1247

Timeline

  • 2025-10-29: disclosed
  • 2025-10-29: patched: Fixed in CKAN 2.10.9 and 2.11.4

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.