CVE-2026-54625: django CMS: Page cache ignores plugin-declared Vary headers (disclosure & poisoning)
The CMS page cache key ignores the request headers that plugins declare via get_vary_cache_on(). The header is added to the response Vary header, but the CMS’s own cache key does not incorporate the header values, so the first visitor’s variant is served to all subsequent visitors regardless of their header values.
References
- github.com/advisories/GHSA-fwjf-m4qw-9f2x
- github.com/django-cms/django-cms/commit/8758714b865ffa79c6bcd0e5c503958ea48885aa
- github.com/django-cms/django-cms/commit/d5dc1efa18d157445491c4b12c2dd1efd56f439f
- github.com/django-cms/django-cms/pull/8646
- github.com/django-cms/django-cms/pull/8647
- github.com/django-cms/django-cms/releases/tag/5.0.8
- github.com/django-cms/django-cms/releases/tag/5.1.0
- github.com/django-cms/django-cms/security/advisories/GHSA-fwjf-m4qw-9f2x
- nvd.nist.gov/vuln/detail/CVE-2026-54625
Code Behaviors & Features
Detect and mitigate CVE-2026-54625 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →