Description
django CMS is an easy-to-use and developer-friendly enterprise content management system powered by Django. Prior to 5.0.9, render_object_structure fails to authorize non-PageContent objects that use PlaceholderRelationField. An active staff user without cms.use_structure or model-level view or change permission can request the //admin/cms/placeholder/object/<content_type_id>/structure/<object_id>/ endpoint with guessed content_type_id and object_id values. The response discloses placeholder slot names, plugin trees, plugin identifiers, labels, and object existence for frontend-editable objects. The fix applies user_can_view_placeholder_source to the non-PageContent branch while keeping the structure board read-only for view-only users. This issue is fixed in versions 5.0.9.
Published: 2026-08-20
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A vulnerability in django CMS's render_object_structure function allows an authenticated staff user lacking appropriate permissions to request the /admin/cms/placeholder/object/<content_type_id>/structure/<object_id>/ endpoint with guessed identifiers. The response exposes placeholder slot names, plugin trees, plugin identifiers, labels, and object existence for frontend‑editable objects, effectively leaking internal structure. This unauthorized disclosure, identified as CWE-639 and CWE-862, can compromise confidentiality by revealing application architecture to low‑privileged staff.

Affected Systems

The issue affects installations of django CMS older than version 5.0.9. Users running any django CMS release prior to 5.0.9 are susceptible. Versions 5.0.9 and later include the fix that applies user_can_view_placeholder_source to the non‑PageContent branch and restricts the structure board to view‑only access for read‑only users.

Risk and Exploitability

The CVSS score of 4.3 indicates moderate severity, largely due to the limited audience – only staff users within the admin interface. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires the attacker to guess valid content_type_id and object_id values, which may be feasible by enumeration or observing application traffic. Because the disclosure is limited to non‑PageContent placeholder structure, the impact is primarily informational rather than destructive.

Generated by OpenCVE AI on August 21, 2026 at 01:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to django CMS 5.0.9 or later
  • Review staff permissions to ensure only necessary cms.use_structure or model‑level view/change rights are granted
  • Restrict or monitor access to the /admin/cms/placeholder/object/… endpoint if an upgrade is not immediately feasible

Generated by OpenCVE AI on August 21, 2026 at 01:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-8qj2-c6q4-f399 django CMS: Missing authorization in `render_object_structure` discloses non-PageContent placeholder structure to low-privileged staff
History

Wed, 26 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 20 Aug 2026 19:45:00 +0000

Type Values Removed Values Added
First Time appeared Django-cms
Django-cms django Cms
Vendors & Products Django-cms
Django-cms django Cms

Thu, 20 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Description django CMS is an easy-to-use and developer-friendly enterprise content management system powered by Django. Prior to 5.0.9, render_object_structure fails to authorize non-PageContent objects that use PlaceholderRelationField. An active staff user without cms.use_structure or model-level view or change permission can request the //admin/cms/placeholder/object/<content_type_id>/structure/<object_id>/ endpoint with guessed content_type_id and object_id values. The response discloses placeholder slot names, plugin trees, plugin identifiers, labels, and object existence for frontend-editable objects. The fix applies user_can_view_placeholder_source to the non-PageContent branch while keeping the structure board read-only for view-only users. This issue is fixed in versions 5.0.9.
Title django CMS: Missing authorization in `render_object_structure` discloses non-PageContent placeholder structure to low-privileged staff
Weaknesses CWE-639
CWE-862
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N'}


Subscriptions

Django-cms Django Cms
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-25T15:16:01.718Z

Reserved: 2026-07-10T18:25:21.467Z

Link: CVE-2026-61663

cve-icon Vulnrichment

Updated: 2026-08-25T15:15:52.933Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-08-20T19:16:56.823

Modified: 2026-09-09T21:19:49.197

Link: CVE-2026-61663

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T01:45:08Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key

  • CWE-862

    Missing Authorization