CVE-2019-14235 Uncontrolled Recursion in Django
Attackers can cause excessive memory consumption and service disruption in Django applications by sending specially crafted inputs to the URI encoding utility.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2019-14235?
CVE-2019-14235 is a high-severity denial of service vulnerability in Djangoproject Django, published on 2 Aug 2019. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
An issue was discovered in Django 1.11.x before 1.11.23, 2.1.x before 2.1.11, and 2.2.x before 2.2.4. If passed certain inputs, django.utils.encoding.uri_to_iri could lead to significant memory usage due to a recursion when repercent-encoding invalid UTF-8 octet sequences.
Weakness: CWE-674
Which versions are affected by CVE-2019-14235?
7 open source packages ship an affected version, including django and Django. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
django PyPI | From 1.11a1 | 1.11.23 |
django PyPI | From 2.1a1 | 2.1.11 |
django PyPI | From 2.2 | 2.2.4, 1.11.23, 2.1.11 |
django PyPI | From 2.2a1 | 2.2.4 |
Django PyPI | From 1.11a1 | 1.11.23 |
Django PyPI | From 2.1a1 | 2.1.11 |
1 more packages
Django PyPI | From 2.2a1 | 2.2.4 |
Products include Djangoproject Django, Opensuse Leap.
How do I fix CVE-2019-14235?
Upgrade django to a fixed version for your release line: 1.11.23, 2.1.11 or 2.2.4.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2019-14235 being exploited?
There is no known exploitation of CVE-2019-14235 in the wild and no public exploit code.
Other vulnerabilities in Djangoproject Django
- CVE-2026-4277 Privilege abuse in GenericInlineModelAdmin
- CVE-2024-53908 Django SQL injection in HasKey(lhs, rhs) on Oracle
- CVE-2024-42005 Django SQL injection vulnerability
- CVE-2023-31047 Django bypasses validation when using one form field to upload multiple files
- CVE-2022-34265 Django `Trunc()` and `Extract()` database functions vulnerable to SQL Injection
Sources
Also known as ALPINE-CVE-2019-14235, DEBIAN-CVE-2019-14235, GHSA-v9qg-3j8p-r63v, PYSEC-2019-14, UBUNTU-CVE-2019-14235.