CVE-2026-75526
Received Received - Intake

Stored XSS in django CMS via Exception Heading Rendering

Vulnerability report for CVE-2026-75526, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-20

Last updated on: 2026-08-20

Assigner: GitHub, Inc.

Description

django CMS is an easy-to-use and developer-friendly enterprise content management system powered by Django. From 5.0.8 until 5.0.9, ContentRenderer.render_placeholder in cms/plugin_rendering.py can pass stored, attacker-controlled values to ContentRenderer.render_exception when plugin rendering fails in edit mode. Values from get_short_description(), the exception message, the placeholder, or placeholder.source are interpolated into a cms-rendering-exception heading and later returned through mark_safe. Because the heading is not escaped, stored HTML executes in an editor’s browser, and settings.DEBUG does not prevent the custom heading from rendering. The fix uses format_html to escape the message before safe placeholder output is returned. This issue is fixed in versions 5.0.9.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-20
Last Modified
2026-08-20
Generated
2026-08-20
AI Q&A
2026-08-20
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
django-cms django_cms to 5.0.9 (exc)
django-cms django_cms 5.0.9
django django_cms From 5.0.8 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-75526 is a stored cross-site scripting (XSS) vulnerability in django CMS affecting versions 5.0.8 and earlier. When plugin rendering fails in edit mode, django CMS displays an exception message containing unescaped user-controlled content. Attackers can inject malicious HTML via plugin fields like get_short_description(), which executes when the exception renders in a staff user's browser during edit mode.

Detection Guidance

To detect this vulnerability, check if your django CMS version is between 5.0.8 and earlier. Run: pip show django-cms or python -c "import cms; print(cms.__version__)" to verify the installed version. If it is 5.0.8 or lower, the system is vulnerable.

Impact Analysis

An attacker could exploit this to execute arbitrary JavaScript in the browsers of authenticated staff users with edit access. This could lead to session hijacking, unauthorized actions, or data theft. The impact is limited to edit mode and requires user interaction (viewing the error page).

Compliance Impact

This XSS vulnerability could violate GDPR's requirement for data confidentiality and integrity, as it may expose user data or session tokens. For HIPAA, it risks unauthorized access to protected health information. Organizations must patch to maintain compliance.

Mitigation Strategies

Immediately upgrade django CMS to version 5.0.9 or later. Restrict edit access to trusted staff as a partial workaround, though this does not fully mitigate the issue. Monitor for unusual activity in edit mode where exception messages are rendered.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-75526. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart