Skip to main content

django-page-cms CVE-2026-93455

| EUVDEUVD-2026-82615 HIGH
Missing Authorization (CWE-862)
2026-09-18 VulnCheck GHSA-v2qc-hf9w-393g
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privilege staff credentials
  2. Delivery
    Authenticate to Django admin
  3. Exploit
    Call page admin helper view without authz check
  4. Execution
    Enumerate content identifiers
  5. Impact
    Read 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

django-page-cms 0 ≤2.0.13

Affected Packages

euvd django_page_cms no fix

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: Medium
Compensating Controls

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

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
niche open-source Django CMS, small single-maintainer project footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Related Vulnerabilities in django-page-cms Admin View Authorization Flaws

View all 2

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy