Skip to main content

Djangoblog CVE-2026-6609

| EUVDEUVD-2026-23782 LOW
Improper Authorization (CWE-285)
2026-04-20 VulDB GHSA-q2v9-jfqm-jfw4
2.1
CVSS 4.0 · NVD

Severity by source

NVD PRIMARY
2.1 LOW
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

8
Severity Changed
Apr 29, 2026 - 01:12 NVD
MEDIUM LOW
CVSS changed
Apr 29, 2026 - 01:12 NVD
5.3 (MEDIUM) 2.1 (LOW)
PoC Detected
Apr 29, 2026 - 01:00 vuln.today
Public exploit code
Analysis Generated
Apr 20, 2026 - 06:28 vuln.today
CVSS changed
Apr 20, 2026 - 06:22 NVD
6.3 (MEDIUM) 5.3 (MEDIUM)
EUVD ID Assigned
Apr 20, 2026 - 06:15 euvd
EUVD-2026-23782
Analysis Generated
Apr 20, 2026 - 06:15 vuln.today
CVE Published
Apr 20, 2026 - 05:30 nvd
LOW 2.1

DescriptionCVE.org

A flaw has been found in liangliangyy DjangoBlog up to 2.1.0.0. The affected element is the function form_valid of the file oauth/views.py. This manipulation of the argument oauthid causes improper authorization. The attack may be initiated remotely. The exploit has been published and may be used. The vendor was contacted early about this disclosure but did not respond in any way.

AnalysisAI

Improper authorization in liangliangyy DjangoBlog versions up to 2.1.0.0 allows authenticated remote attackers to manipulate the oauthid parameter in the oauth/views.py form_valid function, bypassing access controls to perform unauthorized operations. The vulnerability has confirmed public exploit code available and affects all instances where OAuth functionality is enabled. This is a privilege escalation or horizontal access control bypass vulnerability accessible to any authenticated user.

Technical ContextAI

The vulnerability resides in the OAuth integration layer of DjangoBlog, specifically in the form_valid method of oauth/views.py where user-supplied oauthid parameters are processed without proper authorization checks. The root cause is classified as CWE-285 (Improper Authorization), indicating the application fails to verify whether the authenticated user has legitimate rights to perform operations on the specified oauthid before processing the request. This is a classic insecure direct object reference (IDOR) pattern in the OAuth binding workflow, where an attacker with valid authentication credentials can manipulate resource identifiers to access or modify OAuth associations belonging to other users. The CPE indicates the vulnerability affects the entire DjangoBlog application package across all affected versions without version-specific boundaries noted.

RemediationAI

Immediate action required: upgrade to a version later than 2.1.0.0 if available from the vendor, or apply the authorization validation patch directly to the oauth/views.py form_valid function. The fix must verify that the authenticated user owns or has explicit authorization to modify the oauthid being processed before executing any state-changing operations. Specific technical remediation: add server-side authorization checks in form_valid to confirm the authenticated user (request.user) is the owner of the oauthid resource being accessed, preventing cross-user OAuth binding manipulation. If vendor patches are unavailable due to non-response, consider implementing application-level Web Application Firewall (WAF) rules to detect and block repeated oauthid parameter manipulation attempts from individual users, or temporarily disable OAuth binding functionality in the application settings until a fix is verified. Monitor authentication logs for users accessing oauthid parameters outside their own account context. Contact the vendor directly or review https://github.com/3em0/cve_repo/blob/main/DjangoBlog/Vuln-6-OAuth-Email-Binding-IDOR.md for technical details on the vulnerable code path.

Share

CVE-2026-6609 vulnerability details – vuln.today

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