Cyber Resilience

CVE-2023-23969

HighDDoS

Published: 01 February 2023

Published
01 February 2023
Modified
27 March 2025
KEV Added
Patch
CVSS Score v3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Score 0.0508 90.0th percentile
Risk Priority 18 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2023-23969 is a high-severity Allocation of Resources Without Limits or Throttling (CWE-770) vulnerability in Djangoproject Django. Its CVSS base score is 7.5 (High).

Operationally, ranked in the top 10.0% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

Deeper analysis

The vulnerability CVE-2023-23969 is an allocation flaw (CWE-770) in Django versions 3.2 before 3.2.17, 4.0 before 4.0.9, and 4.1 before 4.1.6. It arises because the framework caches parsed Accept-Language header values to avoid repeated parsing; an excessively large raw header value therefore causes unbounded memory growth.

An unauthenticated remote attacker can trigger the flaw simply by sending HTTP requests containing a very large Accept-Language header. Successful exploitation produces high memory consumption on the server and can result in a denial of service, consistent with the CVSS 7.5 rating that emphasizes availability impact without any authentication or user interaction requirements.

Django security advisories and downstream distributions (Debian LTS, Fedora) direct users to upgrade immediately to 3.2.17, 4.0.9, or 4.1.6; the fixes are documented in the Django 4.1 release notes and corresponding package announcements. The EPSS score has remained low, with only a modest increase from 0.0508 to a peak of 0.0609.

EU & UK References

Vulnerability details

In Django 3.2 before 3.2.17, 4.0 before 4.0.9, and 4.1 before 4.1.6, the parsed values of Accept-Language headers are cached in order to avoid repetitive parsing. This leads to a potential denial-of-service vector via excessive memory usage if the raw…

more

value of Accept-Language headers is very large.

CWE(s)

Related Threats

No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.

Affected Assets

djangoproject
django
3.2 — 3.2.17 · 4.0 — 4.0.9 · 4.1 — 4.1.6
debian
debian linux
10.0

Mitigating Controls

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-770

This control implements explicit throttling on session allocation, addressing the weakness of allocating resources without limits.

addresses: CWE-770

Plan testing exercises resource allocation limits and throttling during simulated failures, directly addressing weaknesses that allow unbounded resource use.

addresses: CWE-770

Contingency plan updates ensure recovery strategies address unbounded resource allocation, making it harder for attackers to exploit lack of throttling to cause prolonged outages.

addresses: CWE-770

Provides continuity when unbounded resource allocation at the primary site leads to exhaustion and downtime.

addresses: CWE-770

Alternate services allow operations to continue when primary allocation of resources lacks limits or throttling.

addresses: CWE-770

Explicit planning of security-related actions requires defining limits, windows, and resource allocations, making allocation without throttling far less likely.

addresses: CWE-770

Measures of performance include tracking allocation behavior and throttling effectiveness, reducing the window for resource exhaustion attacks.

addresses: CWE-770

Imposes an inactivity-based limit on network resource allocation, throttling the number of concurrently held connections.

References