CVE-2026-54624 django CMS: Structure endpoint bypasses page-view permission
Staff users can bypass page-view permissions to read restricted page structure details in django CMS when specific permission settings are enabled.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-54624?
CVE-2026-54624 is a medium-severity missing authorization vulnerability in django-cms, published on 20 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
django CMS is an easy-to-use and developer-friendly enterprise content management system powered by Django. Prior to 5.0.8, render_object_structure in cms/views.py renders cms/toolbar/structure.html for a PageContent object without calling user_can_view_page(). Any staff account can request a restricted page’s structure when CMS_PERMISSION is enabled and the page has view restrictions or CMS_PUBLIC_FOR is set to staff. The response exposes plugin get_short_description() values, including link names, URLs, and text snippets, rather than only the page shape. This issue is fixed in versions 5.0.8.
Which versions are affected by CVE-2026-54624?
3 open source packages ship an affected version, including django-cms.
| Package | Affected | Fixed in |
|---|---|---|
django-cms PyPI | All versions | 5.0.8 |
django-cms PyPI | All versions | 5.0.8 |
django-cms PyPI | All versions | 5.0.8 |
How do I fix CVE-2026-54624?
Upgrade django-cms to 5.0.8 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-54624 being exploited?
There is no known exploitation of CVE-2026-54624 in the wild and no public exploit code.
Sources
Also known as GHSA-vgxm-h9gx-h9w7, PYSEC-2026-3826.