Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend HTTP request with missing Content-Length header
-
ExploitBypass DATA_UPLOAD_MAX_MEMORY_SIZE validation
-
ExecutionLoad unbounded request body into memory
-
ImpactExhaust server memory resources causing denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Remote unauthenticated attacker sending ASGI requests with missing or understated Content-Length header to Django 6.0 before 6.0.4, 5.2 before 5.2.13, or 4.2 before 4.2.30. No victim interaction required. Exploits DATA_UPLOAD_MAX_MEMORY_SIZE bypass. |
| Impact | Real-world risk is significant for internet-facing Django ASGI applications. The CVSS vector (AV:N/AC:L/PR:N/UI:N) indicates a network-accessible attack requiring no authentication, low technical complexity, and no user interaction-trivially exploitable conditions. The High availability impact (A:H) reflects the denial-of-service outcome when server memory exhausts. However, the absence of confidentiality or integrity impact (C:N/I:N) limits this to availability disruption rather than data breach. No public exploit code exists at time of analysis, and no CISA KEV listing indicates active exploitation is not confirmed in production environments. The attack is automatable-simple HTTP clients can craft malicious requests-making it viable for both targeted attacks and opportunistic scanning. SSVC technical impact assessment would classify this as partial (service degradation/DoS) rather than total system compromise. Priority depends heavily on deployment context: critical for public-facing ASGI services handling untrusted input, moderate for internal APIs with rate limiting or resource controls, lower for WSGI-only deployments. The Django Security Foundation's rapid coordinated release across three branches signals vendor assessment of meaningful production risk. |
| Exploit ScenarioDerived | An attacker identifies a Django ASGI application (e.g., real-time chat service using Django Channels with Daphne) and crafts HTTP POST requests with Content-Length header set to 1 byte while streaming gigabytes of payload data. The Django ASGI handler fails to enforce DATA_UPLOAD_MAX_MEMORY_SIZE during HttpRequest.body parsing, consuming server RAM without limit. By sending multiple concurrent requests from distributed sources, the attacker exhausts available memory, triggering OOM killer processes or cascading service failures. The application becomes unresponsive to legitimate users, achieving denial of service. The attack requires only basic HTTP client capabilities (curl, Python requests library) with no authentication, making it accessible to unsophisticated attackers scanning for Django fingerprints. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 07, 2026
Unbounded memory consumption in Django ASGI applications allows unauthenticated remote attackers to bypass DATA_UPLOAD_MAX_MEMORY_SIZE protections via malformed Content-Length headers, leading to denial of service. Affects Django 6.0 before 6.0.4, 5.2 before 5.2.13, and 4.2 before 4.2.30. CVSS 7.5 (High) with network-accessible, low-complexity attack vector requiring no privileges. EPSS data not available; no public exploit identified at time of analysis. Vendor patches released April 2026 across all affected major branches.
RemediationAI
Upgrade immediately to patched Django releases: version 6.0.4 for the 6.0 series, version 5.2.13 for the 5.2 series, or version 4.2.30 for the 4.2 LTS series. Installation via pip with 'pip install Django==6.0.4' (or appropriate version for your branch) applies the fix. No workarounds exist that fully mitigate the issue-the vulnerability requires code-level corrections to ASGI request body parsing logic. Organizations using unsupported Django versions (5.0.x, 4.1.x, 3.2.x) should prioritize migration to a supported LTS branch (4.2.x) or current stable release. If immediate patching is impossible, consider temporary mitigations: deploy reverse proxies (nginx, HAProxy) with strict request size limits enforced at the HTTP layer, implement aggressive connection timeouts, or temporarily route traffic through WSGI rather than ASGI servers. Monitor memory utilization for abnormal spikes. Full remediation guidance and release notes at https://www.djangoproject.com/weblog/2026/apr/07/security-releases/ with security announcements via https://groups.google.com/g/django-announce.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This vulnerability exploits Django's ASGI (Asynchronous Server Gateway Interface) request handling mechanism, specifically the HttpRequest.body attribute parser. Django implements DATA_UPLOAD_MAX_MEMORY_SIZE as a protection against excessive memory consumption from large POST requests. The flaw (CWE-770: Allocation of Resources Without Limits or Throttling) occurs when ASGI processes requests with missing or understated Content-Length headers-the framework fails to enforce memory limits during body parsing, allowing attackers to stream arbitrary amounts of data into server memory. This bypasses the intended quota enforcement that normally caps request body size. The vulnerability affects the Python-based Django web framework across three actively maintained release series (4.2.x LTS, 5.2.x, 6.0.x), with unsupported series like 5.0.x, 4.1.x, and 3.2.x potentially vulnerable but not officially evaluated. ASGI deployment contexts (using Daphne, Uvicorn, Hypercorn, or similar servers) are specifically at risk, while traditional WSGI deployments may not be affected.
Know when Django 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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (DSF).
CVSS VectorVendor: DSF
Lifecycle Timeline
2DescriptionCVE.org
An issue was discovered in 6.0 before 6.0.4, 5.2 before 5.2.13, and 4.2 before 4.2.30. ASGI requests with a missing or understated Content-Length header could bypass the DATA_UPLOAD_MAX_MEMORY_SIZE limit when reading HttpRequest.body, allowing remote attackers to load an unbounded request body into memory. Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected. Django would like to thank Superior for reporting this issue.
Blast Radius
ecosystem impact- 18 pypi packages depend on django (18 direct, 0 indirect)
Ecosystem-wide dependent count for version 6.0.
Executive ViewAI
Django ASGI applications in versions 6.0 before 6.0.4, 5.2 before 5.2.13, and 4.2 before 4.2.30 are vulnerable to denial of service attacks through malformed HTTP headers that bypass memory protections, allowing unauthenticated attackers to crash application services. Organizations running Django-based web applications face immediate availability risk with no workaround available until patching.
Apply vendor patch. Interim mitigation: configure reverse proxy or WAF rules to reject requests with invalid or oversized Content-Length headers; implement request rate limiting and connection timeouts to reduce DoS window; enable application monitoring to detect memory exhaustion patterns.
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Related Vulnerabilities in Django Security Multiple Issues
View all 5The package python/cpython from 0 and before 3.6.13, from 3.7.0 and before 3.7.10, from 3.8.0 and before 3.8.8, from 3.9
In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for
An issue was discovered in Django 3.2 before 3.2.14 and 4.0 before 4.0.6. Rated critical severity (CVSS 9.8), this vulne
Django 3.1.x before 3.1.13 and 3.2.x before 3.2.5 allows QuerySet.order_by SQL injection if order_by is untrusted input
Django before 1.11.27, 2.x before 2.2.9, and 3.x before 3.0.1 allows account takeover. Rated critical severity (CVSS 9.8
An authentication/authorization bypass in the djust Python live-view framework (versions prior to 1.0.7) lets unauthenti
Unauthenticated arbitrary Python module import in djust before 1.0.7 lets any client that can reach the WebSocket or SSE
Django 1.11 before 1.11.29, 2.2 before 2.2.11, and 3.0 before 3.0.4 allows SQL Injection if untrusted data is used as a
Cross-site scripting (XSS) vulnerability in the dismissChangeRelatedObjectPopup function in contrib/admin/static/admin/j
Forged content modification in django-page-cms through 2.0.13 lets unauthenticated remote attackers exploit five CSRF-ex
Cross-site request forgery in djust's Server-Sent-Events transport affects all versions prior to 1.0.7 and allows a cros
Unauthenticated remote attackers can read live Django view and session state and invoke server-side handlers through dju
Same technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: High| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Fixed |
| openSUSE Leap 15.6 | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Fixed |
EUVD-2026-19648
GHSA-933h-hp56-hf7m
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB