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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-79"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/75xxx/CVE-2026-75526.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "5.0.8"
},
{
"fixed": "5.0.9"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "b56a568844ff3702495945f73a31d0868285bf88"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "5.0.9",
"range": [
{
"fixed": "d7eeb6526bd757cfcdf28122066f39803990c5e4"
}
],
"source": "REFERENCES_TAG"
}
]
}