A vulnerability in django CMS prior to version 5.0.8 allows a staff user with plugin-change permission to create a parent_id cycle in the plugin tree via the move_plugin endpoint in cms/admin/placeholderadmin.py. The endpoint accepts an attacker-controlled plugin_parent value without validating against the plugin's own identifier or descendant identifiers. The recursive CTE queries _get_descendants_cte and _get_ancestors_cte in cms/models/pluginmodel.py lack cycle guards, enabling indefinite recursion or database recursion limit exhaustion. Exploitation can corrupt the plugin tree and consume request workers, effectively causing a denial of service. The vulnerability requires a staff account with CMS_PERMISSION and plugin-change rights, limiting but not eliminating risk. The issue has been patched in django CMS version 5.0.8.