Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-75526— django CMS: Stored XSS in edit-mode plugin exception rendering

Quick assessment

Affected
django-cms django-cms
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

django CMS 是一个易用且对开发者友好的企业级内容管理系统,基于 Django 框架构建。在版本 5.0.8 至 5.0.9 之间, 中的 方法在编辑模式下插件渲染失败时,会将攻击者可控的已存储值传递给 。 具体而言,来自 、异常消息、占位符本身或 的值会被插值到一个名为 “cms-rendering-exception” 的标题中,随后通过 函数返回。由于该标题未经过转义处理,存储的 HTML 代码会在编辑器的浏览器中执行。此外,即使 Django 的 设置为 ,也无法阻止该自定义标题的渲染。 该漏洞已通

CVSS 4.4 · Medium EPSS 0.17% · P6

Affected Version Matrix 1

VendorProduct Version RangeStatus
django-cms django-cms >= 5.0.8, < 5.0.9 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-75526

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
django CMS: Stored XSS in edit-mode plugin exception rendering
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
django-cms django-cms >= 5.0.8, < 5.0.9 -

II. Public POCs for CVE-2026-75526

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-75526

登录查看更多情报信息。

Patches & Fixes for CVE-2026-75526 (2)

Vendor Advisories for CVE-2026-75526 (1)

Vendor Pages for CVE-2026-75526 (1)

Same Patch Batch · django-cms · 2026-08-20 · 7 CVEs total

CVE-2026-54623 7.1 HIGH django CMS: Plugin move endpoint allows cyclic reparenting (DoS)
CVE-2026-54622 6.5 MEDIUM django CMS: Clipboard copy IDOR discloses unauthorized plugin content
CVE-2026-54624 6.5 MEDIUM django CMS: Structure endpoint bypasses page-view permission
CVE-2026-63003 6.5 MEDIUM django CMS: Broken access control in page *Duplicate* allows reading the content of any pa
CVE-2026-54625 4.8 MEDIUM django CMS: Page cache ignores plugin-declared Vary headers (disclosure & poisoning)
CVE-2026-61663 4.3 MEDIUM django CMS: Missing authorization in `render_object_structure` discloses non-PageContent p

IV. Related Vulnerabilities

V. Comments for CVE-2026-75526

No comments yet


Leave a comment