CVE-2025-54384 CKAN stored XSS vulnerability in Markdown description fields
Attackers can inject malicious scripts via Markdown fields in CKAN, potentially stealing user sessions or executing code.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2025-54384?
CVE-2025-54384 is a medium-severity cross-site scripting vulnerability in ckan, published on 29 Oct 2025. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
CKAN is an open-source DMS (data management system) for powering data hubs and data portals. Prior to 2.10.9 and 2.11.4, the helpers.markdown_extract() function did not perform sufficient sanitization of input data before wrapping in an HTML literal element. This helper is used to render user-provided data on dataset, resource, organization or group pages (plus any page provided by an extension that used that helper function), leading to a potential XSS vector. This vulnerability has been fixed in CKAN 2.10.9 and 2.11.4.
Weakness: CWE-79
Which versions are affected by CVE-2025-54384?
5 open source packages ship an affected version, including ckan.
| Package | Affected | Fixed in |
|---|---|---|
ckan PyPI | All versions | 2.10.9, 2.11.4 |
ckan PyPI | All versions | 2.10.9 |
ckan PyPI | All versions | 2.10.9 |
ckan PyPI | From 2.11.0 | 2.11.4 |
ckan PyPI | From 2.11.0 | 2.11.4 |
How do I fix CVE-2025-54384?
Upgrade ckan to a fixed version for your release line: 2.10.9 or 2.11.4.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2025-54384 being exploited?
There is no known exploitation of CVE-2025-54384 in the wild and no public exploit code.
Sources
Also known as GHSA-2r4h-8jxv-w2j8, PYSEC-2026-1247.