Read the docs
TI-2026-39456 Aliases CVE-2026-54625GHSA-fwjf-m4qw-9f2x

django CMS: Page cache ignores plugin-declared Vary headers (disclosure & poisoning)

Priority LOW 21CWE-349Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
—
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0018 7th percentileScored 2026-11-07
Fix Fixed django-cms (django-cms): 5.0.8, 5.1.0django-cms (PyPI): 5.0.8

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
django-cmsdjango-cmsbefore 5.0.8; 5.1.0a1 to before 5.1.05.0.8, 5.1.0Patch availableCNA
—django-cms (PyPI)before 5.0.85.0.8Patch availableGHSA-fwjf-m4qw-9f2x
  • django-cms Vendordjango-cms Affected before 5.0.8; 5.1.0a1 to before 5.1.0 Fixed in 5.0.8, 5.1.0 Patch available CNA
  • django-cms (PyPI) Vendor— Affected before 5.0.8 Fixed in 5.0.8 Patch available GHSA-fwjf-m4qw-9f2x

Remediation

  • Fix · CNA django-cms (django-cms) Fixed in 5.0.8, 5.1.0
  • Fix · GHSA-fwjf-m4qw-9f2x django-cms (PyPI) Fixed in 5.0.8 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-54625
  2. 2026-10-03 Alias added: GHSA-fwjf-m4qw-9f2x

References

  • TI-2024-10485 Stored XSS in Open Source Project "django-cms" CVSS 3.1MEDIUM 4.8
  • TI-2026-44152 Authorization bypass in django-cms CVSS 3.1MEDIUM 4.3
  • TI-2015-04262 Cross-site request forgery (CSRF) vulnerability in django CMS before 3.0.14, 3.1.x before… CVSS 3.0HIGH 8.8
  • TI-2026-39454 django CMS: Plugin move endpoint allows cyclic reparenting (DoS) CVSS 3.1HIGH 7.1
  • TI-2026-45004 Authorization bypass in django-cms CVSS 3.1MEDIUM 6.5
  • TI-2026-39455 django CMS: Structure endpoint bypasses page-view permission CVSS 3.1MEDIUM 6.5
See all 9 →

Sources