CVE Catalog

CVE-2026-15337

MediumCVSS 5.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.52%

42th percentile - higher than 42% of all known CVEs

Summary

In Django 5.2 before 5.2.17 and 6.0 before 6.0.8, a denial-of-service vulnerability was discovered in django.utils.translation.check_for_language(), which when given many distinct, very long language codes can lead to excessive memory consumption. These codes can reach the function through the django.views.i18n.set_language() view, which is not routed by default. Memory consumption is bounded by the DATA_UPLOAD_MAX_MEMORY_SIZE setting (default 2.5 MB) and the cache holds a fixed maximum number of entries.

Risk Assessment

The risk is the possibility of a DoS attack on Django applications, potentially leading to memory exhaustion and service unavailability.

Recommendation

It is recommended to upgrade Django to version 5.2.17 or 6.0.8 (or later) and monitor memory usage.

Other vulnerabilities in Django

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS