CVE-2026-54625
django CMS is a content management system powered by Django. Prior to 5.0.8 and in 5.1.0a1, the django CMS page cache in cms/cache/page.py ignores request headers declared by plugins through get_vary_cache_on(). The _page_cache_key function includes the cache prefix, site, language, path, and timezone but not the declared header values. Although set_page_cache adds those names to the response Vary header, get_page_cache retrieves the first stored variant under the same header-agnostic key. When CMS_PAGE_CACHE is enabled and a plugin varies content on a header such as Country-Code, one visitor can receive another visitor’s request-specific content, and an unauthenticated attacker can prime the cache with attacker-chosen content. This issue is fixed in versions 5.0.8 and 5.1.0.
Scoring
- Severity
- MEDIUM
- CVSS base score
- 4.8
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
- EPSS probability
- 0.15%
- CWE
- CWE-349, CWE-524
- Published
- 2026-08-20
- Last modified
- 2026-08-20
Affected products
- django-cms django-cms
- django-cms django-cms
Weakness type
Related vulnerabilities
- CVE-2026-15387 — Acceptance of Extraneous Untrusted Data With Trusted Data in GitLab
- CVE-2026-50252 — Possible cache poisoning attack by mapping source port population per thread
- CVE-2026-41120 — Dell Wyse Management Suite, versions prior to WMS 5.5 HF1, contain an Acceptance of Extraneous...
- CVE-2026-46342 — Nuxt: `__nuxt_island` endpoint does not bind responses to request props, enabling shared-cache poisoning
- CVE-2026-45602 — Windows Dynamic Host Configuration Protocol (DHCP) Tampering Vulnerability
- CVE-2026-42960 — Possible cache poisoning via promiscuous records for the authority section
- CVE-2026-44572 — Next.js: Middleware / Proxy redirects can be cache-poisoned
- CVE-2026-32162 — Windows COM Elevation of Privilege Vulnerability