Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege staff credentials
-
DeliveryAuthenticate to Django admin
-
ExploitCall page admin helper view without authz check
-
ExecutionEnumerate content identifiers
-
ImpactRead arbitrary drafts, pages, and media paths
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated Django admin staff account with low privileges (PR:L) - the attacker must already be able to log into the admin interface; there is no unauthenticated path. Once authenticated, exploitation targets the page admin helper views in pages/admin/views.py that omit page-permission checks, so no special non-default configuration is needed beyond running django-page-cms through 2.0.13 with more than one staff user of differing privilege. Limiting factors: the staff-credential prerequisite confines this to insiders or compromised/over-provisioned staff accounts, and impact is confined to disclosure of page content, drafts, listings, and media file paths (no write, no code execution). |
| Impact | This is a genuine but bounded issue, not a top-tier emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N = 7.1) is internally consistent with the description: a confidentiality-only broken-access-control flaw (CWE-862) exploitable over the network by an already-authenticated low-privilege staff account, with no integrity or availability impact. The single most important limiting signal is PR:L - this is NOT unauthenticated; the attacker must already hold valid staff credentials to the Django admin, which materially narrows the population of real-world attackers to insiders or holders of compromised staff logins. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so exploitation status is 'no public exploit identified at time of analysis' - there is no evidence of active exploitation or automation. The VC:H (confidentiality high) rating is arguably aggressive: the exposed assets are CMS page content, unpublished drafts, page listings, and stored media file paths, which is meaningful information disclosure but not credentials or secrets; a case can be made for VC:L/C:L. Note also the 'Authentication Bypass' tag conflicts with the actual mechanism - CWE-862 is a missing-authorization (post-authentication) flaw, not an auth bypass. Net: a real, patch-worthy authorization defect, but the authentication precondition and confidentiality-only, no-KEV/no-EPSS/no-POC profile place it below internet-facing unauthenticated flaws in priority. |
| Exploit ScenarioDerived | An attacker with (or having phished/compromised) a low-privilege Django staff account logs into the admin, then calls the page admin helper views (pages/admin/views.py) which fail to check page-level permissions. By enumerating content identifiers they retrieve arbitrary page content, unpublished drafts, page listings, and stored media file paths they were never authorized to see. No public exploit code is identified at time of analysis; exploitation is straightforward given the low attack complexity (AC:L) once staff access exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
django-page-cms through 2.0.13 fails to enforce page-permission checks in its admin helper views, allowing low-privilege authenticated staff accounts to read arbitrary page content, unpublished drafts, listings, and stored media file paths. No write access or code execution is possible, and exploitation requires a valid Django admin staff login, confining the issue to insiders or compromised/over-provisioned staff accounts. No public exploit code or active exploitation has been identified at time of analysis, and the flaw is a bounded broken-access-control issue rather than a top-tier emergency.
RemediationAI
No vendor-released patch or fixed version was identified in the available intelligence at time of analysis; track GitHub issue 244 and the VulnCheck advisory for updates. Until a patch is available, the highest-value compensating control is to strictly limit and audit Django admin staff accounts: remove staff privileges from users who do not need them, enforce least privilege, and rotate credentials for any over-provisioned accounts. Because exploitation requires an authenticated staff login, blocking or restricting access to the /admin/ URL path by IP allowlist or network segmentation (e.g., VPN-only admin) directly reduces exposure, though this may hinder legitimate remote administration. For a code-level workaround, add explicit page-permission checks to the affected helper views in pages/admin/views.py (lines 35-36, 174-178, 226-229) or wrap them with a custom permission decorator; this requires development effort and regression testing. Monitoring for unusual enumeration of page IDs or media paths from staff accounts can help detect attempts, but no write or code-execution impact means the priority is confidentiality review rather than emergency response.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw resides in django-page-cms, a Django content-management extension from batiste, specifically in the admin helper views defined in pages/admin/views.py (notably around lines 35-36, 174-178, and 226-229). CWE-862 (Missing Authorization) means these views omit checks that verify the requesting staff user holds the required page-level permissions, so any staff account can enumerate page identifiers and retrieve drafts, listings, and media paths. Django's admin framework distinguishes staff status from model-level permissions; django-page-cms through 2.0.13 fails to bridge that gap in these helper views. CPE cpe:2.3:a:batiste:django-page-cms:*:*:*:*:*:*:*:* covers all versions up to and including 2.0.13.
Know when Django Page Cms gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Authenticated low-privilege staff (PR:L) over the network with no user interaction; confidentiality-only disclosure of drafts/content/media paths, no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
django-page-cms through 2.0.13 fails to properly validate page permissions in admin helper views, allowing any staff account to read arbitrary page content and stored media paths. Attackers with low-privilege staff credentials can enumerate content identifiers and access unpublished drafts, page listings, and file paths without proper authorization checks.
Executive ViewAI
Organizations using django-page-cms through 2.0.13 are exposed to a high-severity access control weakness that lets low-privilege staff accounts with a valid admin login read unpublished drafts, arbitrary page content, and stored media file paths. The flaw is confined to data disclosure by insiders or compromised accounts, with no write access or code execution possible, but it can still leak sensitive internal information and undermine content governance. No vendor-released patch identified at time of analysis and no public exploit identified, leaving management to decide on interim risk mitigation until a fix is released.
No vendor-released patch identified at time of analysis; enforce strict least-privilege for staff accounts, restrict admin interface access via VPN or IP allowlisting, enable detailed access logging and monitor for unauthorized reads of unpublished content or media paths, and consider migrating to an actively maintained CMS.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
EUVD-2026-82615
GHSA-v2qc-hf9w-393g
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB