Back to Labs
Security Advisory

CVE-2023-23969

About

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.

Weakness (CWE):CWE-770

Rainforest analyst review

Django in the affected 3.2, 4.0, and 4.1 branches caches the parsed values of Accept-Language headers to avoid reparsing, and that cache can be driven to excessive memory use by a very large raw header value. The result is an unauthenticated, remote denial-of-service: no login, no interaction, just oversized headers that push memory consumption until the service degrades. Availability is the only thing at stake, integrity and confidentiality are untouched.

DoS-only bugs sit a rung below the RCE and injection headlines, but a trivially remote, unauthenticated resource-exhaustion vector against a popular web framework is worth timely patching because it is cheap for an attacker to trigger and hard to distinguish from load. It is unlikely to be the centerpiece of a targeted campaign, but it is the kind of thing that gets folded into stress or extortion-style disruption.

Our lever is dependency inventory: Django's version is knowable from lockfiles and requirements, so we can enumerate which applications run an affected release and roll them to the patched point release. In the interim, an upstream proxy that caps request-header size neutralizes the oversized-header trigger, giving us a fast virtual patch while the framework upgrades are scheduled across services.

References

Related CVEs

No related CVEs.

Frequently asked questions

What is CVE-2023-23969?

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.

How severe is CVE-2023-23969?

CVE-2023-23969 carries a CVSS 3.1 base score of 7.5, rated high. On the Rainforest Risk Index — which weighs the severity alongside how easy the flaw is to reach and how broad its impact is — it scores 75 out of 100, in the high band.

How is CVE-2023-23969 exploited?

According to the CVSS vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H): attack vector Network, attack complexity Low, privileges required None, user interaction None. Impact on confidentiality None, integrity None and availability High.

Which products are affected by CVE-2023-23969?

Public advisories list the following as affected: debian linux, django. Check the references on this page for the exact versions each vendor confirms.

How do I fix CVE-2023-23969?

Apply the fix the vendor published — the references on this page link to the primary advisories and patches. When patching can't happen right away, reduce the exposure of the affected component and watch it for exploitation attempts. Rainforest customers see this vulnerability correlated to their own assets and prioritized by real exposure, not by score alone.

Empower Your Security Strategy with Rainforest

Discover vulnerabilities early, prioritize critical threats, and protect what truly matters. Rainforest streamlines your security operations, saving you time and reducing costs, so you can focus on what drives your business forward.

Share this:LinkedInX Email