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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-54623— django CMS: Plugin move endpoint allows cyclic reparenting (DoS)

Quick assessment

Affected
django-cms django-cms
Exploitation
Public or AI PoC available; prioritize validation
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.8 中得到修复。

CVSS 7.1 · High EPSS 0.34% · P28

Affected Version Matrix 1

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

I. Basic Information for CVE-2026-54623

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: Plugin move endpoint allows cyclic reparenting (DoS)
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. Prior to 5.0.8, the move_plugin endpoint in cms/admin/placeholderadmin.py accepts an attacker-controlled plugin_parent value without rejecting a plugin’s own identifier or a descendant identifier. A staff user with plugin-change permission under CMS_PERMISSION can create a parent_id cycle in the plugin tree. The _get_descendants_cte and _get_ancestors_cte queries in cms/models/pluginmodel.py have no cycle guard, so get_descendants() and later rendering, copy, or delete operations can recurse indefinitely or reach a database recursion limit, corrupting the tree and consuming request workers. This issue is fixed in versions 5.0.8.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
未经控制的递归
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
django-cms django-cms < 5.0.8 -

II. Public POCs for CVE-2026-54623

# POC Description Source Link Shenlong Link
AI-Generated POC Premium
Qwen3.6-35B-A3B · 10959 chars
Pro+ exclusive includes:
Vulnerability reproduction recording (real sandbox build + trigger, exclusive)
In-depth vulnerability mechanism
Trigger conditions & impact
Full executable POC code
Exploit chain & mitigation
POC zip download
100+ AI POC generations per month

III. Intelligence Information for CVE-2026-54623

登录查看更多情报信息。

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

Vendor Advisories for CVE-2026-54623 (1)

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

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-75526 4.4 MEDIUM django CMS: Stored XSS in edit-mode plugin exception rendering
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-54623

No comments yet


Leave a comment