Description
django CMS is an easy-to-use and developer-friendly enterprise content management system powered by Django. Prior to 5.0.9, page duplication lacks an object-level authorization check on the source page. In cms/admin/forms.py, DuplicatePageForm.source accepts any Page, the AddPageForm constructor does not narrow a hidden source field, AddPageForm.clean does not validate the source against the user, and AddPageForm.save calls from_source. In cms/admin/pageadmin.py, duplicate and PageAdmin.has_add_permission check only whether a staff user may add a page. A crafted source value can therefore copy every placeholder and plugin from an unauthorized page with permissions=False, stripping source view restrictions and exposing content across sites or restricted subtrees when CMS_PERMISSION is enabled. This issue is fixed in versions 5.0.9.
Published: 2026-08-20
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises because the page duplication feature in django‑CMS does not perform an object‑level authorization check on the source page. A staff user who can add pages can therefore submit a duplicate request containing an arbitrary Page ID that the user is not normally allowed to view. The system accepts the request, copies every placeholder and plugin from the source page, and strips any view restrictions that were originally in place. This allows the attacker to read the content of any page, even across site boundaries or within restricted subtrees when the CMS_PERMISSION setting is enabled, thereby compromising confidentiality and potentially exposing sensitive information.

Affected Systems

The flaw affects django‑CMS versions prior to 5.0.9. The security issue was remedied in release 5.0.9 and all subsequent versions.

Risk and Exploitability

The CVSS score of 6.5 assigns a moderate to high severity to the issue. No EPSS data is available, but the necessity of only a staff‑level account means the attack is likely feasible in most installations that grant staff users page‑addition rights. Because the flaw is not listed in CISA KEV, it may not yet have widespread exploitation, yet its impact on confidentiality is significant. The attack vector is an authenticated request to the page‑duplicate endpoint with a crafted source parameter. The lack of source validation allows exploitation without additional privileges beyond those of a staff account.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply django‑CMS version 5.0.9 or later to install the authorization fix.
  • If a patch cannot be applied immediately, disable the duplicate page functionality or restrict it to users who should not be able to view content beyond their permissions.
  • Ensure that staff users only have add‑page permissions on sites or subtrees that should be accessible, reducing the chance that a malicious duplicate request can expose protected content.
  • Verify that CMS_PERMISSION is enabled and properly tuned in the configuration to enforce view‑level restrictions whenever possible.

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-6x92-6vx4-5fwr django CMS: Broken access control in page *Duplicate* allows reading the content of any page (cross-site / restriction bypass)
History

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, page duplication lacks an object-level authorization check on the source page. In cms/admin/forms.py, DuplicatePageForm.source accepts any Page, the AddPageForm constructor does not narrow a hidden source field, AddPageForm.clean does not validate the source against the user, and AddPageForm.save calls from_source. In cms/admin/pageadmin.py, duplicate and PageAdmin.has_add_permission check only whether a staff user may add a page. A crafted source value can therefore copy every placeholder and plugin from an unauthorized page with permissions=False, stripping source view restrictions and exposing content across sites or restricted subtrees when CMS_PERMISSION is enabled. This issue is fixed in versions 5.0.9.
Title django CMS: Broken access control in page *Duplicate* allows reading the content of any page (cross-site / restriction bypass)
Weaknesses CWE-639
CWE-862
References
Metrics cvssV3_1

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


Subscriptions

Django-cms Django Cms
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T21:46:19.864Z

Reserved: 2026-07-14T23:10:57.032Z

Link: CVE-2026-63003

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-08-21T22:16:42.007

Link: CVE-2026-63003

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