← Vulnerability feed

Vulnerability record · CVE-2023-23969 · published 1 February 2023

CVE-2023-23969: Django Accept-Language header caching allows memory exhaustion DoS

Djangoproject · Django

Django caches parsed Accept-Language header values to avoid repeated parsing, but does not bound the size of the raw header it stores. An attacker can send very large Accept-Language headers to drive excessive memory usage and cause denial of service. Affected versions are Django 3.2 before 3.2.17, 4.0 before 4.0.9, and 4.1 before 4.1.6.

7.5 CVSS 3.1 High EPSS 47% · top 1.2% CWE-770 · Allocation without limits
7.5CVSS 3.1 base score
47%EPSS exploitation probability, 30 days
NoNot in CISA KEV
2Affected product versions listed by NVD
14References
17 Jun 2026Last modified by NVD

Description

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 value of Accept-Language headers is very large.

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 20 September 2026. Confidence: high.

high priorityCVSS 7.5 with network reachability and no authentication, plus a high EPSS percentile, makes this a realistic availability threat despite no KEV listing.

What it is

Django caches parsed Accept-Language header values to avoid repeated parsing, but does not bound the size of the raw header it stores. An attacker can send very large Accept-Language headers to drive excessive memory usage and cause denial of service. Affected versions are Django 3.2 before 3.2.17, 4.0 before 4.0.9, and 4.1 before 4.1.6.

Impact

An unauthenticated attacker can consume server memory and degrade or exhaust application availability. There is no data confidentiality or integrity impact; the effect is denial of service.

Attack surface

Reached over the network through HTTP requests to any Django endpoint that processes Accept-Language headers, which is typical for locale and internationalization handling. No authentication or user interaction is required per the CVSS vector (AV:N/AC:L/PR:N/UI:N).

Exploitation

Not listed in CISA KEV and no public exploit references are tagged in the record, but EPSS is high at roughly 0.47 probability (98.8th percentile), indicating elevated likelihood of exploitation activity.

What to do

  • Upgrade Django to 3.2.17, 4.0.9, 4.1.6 or later; the vendor security release contains the fix.
  • Apply the corresponding Debian, Fedora or NetApp vendor updates for packaged Django deployments.
  • Enforce a maximum request header size at the reverse proxy or web server to cap oversized Accept-Language values.
  • Monitor memory usage on Django hosts and alert on abnormal growth correlated with request volume.

Detection

  • Alert on HTTP requests with unusually large Accept-Language header values in web server or WAF logs.
  • Track per-process memory growth on Django application servers and correlate spikes with request patterns.
  • Review proxy and application logs for repeated requests from single sources sending oversized headers.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

2 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2023-23969 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed9.8CVE-2023-46604Apache ActiveMQ OpenWire deserialization remote code executionThe Java OpenWire protocol marshaller in Apache ActiveMQ deserializes untrusted data, letting an attacker manipulate serialized class types so the br…KEVEPSS 100%analysed

Source: NIST National Vulnerability Database (record CVE-2023-23969), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.