CVE-2026-75526: django CMS: Stored XSS in edit-mode plugin exception rendering
When plugin rendering fails in edit mode, django CMS renders a cms-rendering-exception block so editors can see that a placeholder could not be rendered. Older code built that block’s heading by interpolating the exception message, placeholder/source strings, and the failing plugin’s short description directly into an HTML string, then returned the placeholder output as safe markup.
If an editor could store HTML in data used by a plugin’s get_short_description() (or in other values interpolated into the exception message), and that plugin later raised during edit-mode rendering, the payload was parsed as HTML in the staff user’s browser. This is a stored XSS condition in the CMS editing context.
References
- github.com/advisories/GHSA-hvq6-2r72-p2x7
- github.com/django-cms/django-cms/commit/b56a568844ff3702495945f73a31d0868285bf88
- github.com/django-cms/django-cms/pull/8711
- github.com/django-cms/django-cms/releases/tag/5.0.9
- github.com/django-cms/django-cms/security/advisories/GHSA-hvq6-2r72-p2x7
- nvd.nist.gov/vuln/detail/CVE-2026-75526
Code Behaviors & Features
Detect and mitigate CVE-2026-75526 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 →