CVE-2026-15337

MEDIUM CVSS 4.0: 6.9 EPSS 0.52%
Updated Aug 18, 2026
Django
Parameter Value
CVSS 6.9 (MEDIUM)
Affected Versions 6.0 — 6.0.8
Fixed In 5.2.17
Type CWE-789
Vendor Django
Public PoC No

An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. `django.utils.translation.check_for_language()` is subject to a potential denial-of-service attack when given many distinct, very long language codes, which are retained as keys in an in-memory cache and consume process memory. Such codes reach the function through the `django.views.i18n.set_language()` view, which is not routed by default. The consumed memory is bounded, since request data is limited by the `DATA_UPLOAD_MAX_MEMORY_SIZE` setting (default 2.5 MB) and the cache holds a fixed maximum number of entries.

Earlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected. Django would like to thank Jaeyoung Jang for reporting this issue.

Attack Parameters

Attack Vector
Network
Can be exploited remotely
Attack Complexity
Low
Easy to exploit
Attack Requirements
None
No additional conditions
Privileges Required
None
No privileges needed
User Interaction
None
No user interaction needed

Impact Assessment

Confidentiality
None
No data leak
Integrity
None
No data modification
Availability
Low
Partial disruption

CVSS Vector v4.0

Weakness Type (CWE)

Vulnerable Products 2

Configuration From (including) Up to (excluding)
Djangoproject Django
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*
5.2.17
Djangoproject Django
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*
6.0 6.0.8