CVE-2026-54623
Published:August 20, 2026
Updated:September 24, 2026
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.
Affected Packages
django-cms (CONDA):
Affected version(s) >=3.11.4 <5.0.8Fix Suggestion:
Update to version 5.0.8django-cms (CONDA):
Affected version(s) >=3.11.4 <5.0.8Fix Suggestion:
Update to version 5.0.8https://github.com/django-cms/django-cms.git (GITHUB):
Affected version(s) >=2.0.1 <5.0.8Fix Suggestion:
Update to version 5.0.8django-cms (PYTHON):
Affected version(s) >=2.0.1 <5.0.8Fix Suggestion:
Update to version 5.0.8Related Resources (7)
Do you need more information?
Contact UsCVSS v4
Base Score:
7.1
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
NONE
Vulnerable System Confidentiality
NONE
Vulnerable System Integrity
LOW
Vulnerable System Availability
HIGH
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
7.1
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
LOW
Availability
HIGH
Weakness Type (CWE)
EPSS
Base Score:
0.34