Every CVE Search/ Get API key

CVE-2019-14235

Uncontrolled Recursion in Django

7.5 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

3.07%Up 0.8 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 7.5

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.

Record
CVE-2019-14235
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:N/A:P
Weakness
CWE-674
Updated
2026-11-02
CVE List No score

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.

Record
CVE-2019-14235
Updated
2026-11-02
EUVDEUVD-2019-0038 No score

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.

Record
EUVD-2019-0038
Updated
2026-11-03
GitHub AdvisoriesGHSA-v9qg-3j8p-r63v 8.7

Uncontrolled Recursion in Django

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.

Record
GHSA-v9qg-3j8p-r63v
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-674
Updated
2026-11-02
OSVALPINE-CVE-2019-14235 7.5

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.

Record
ALPINE-CVE-2019-14235
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-03
OSV 7.5

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.

Record
CVE-2019-14235
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 12 moreShow less
OSVDEBIAN-CVE-2019-14235 7.5

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.

Record
DEBIAN-CVE-2019-14235
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGHSA-v9qg-3j8p-r63v 8.7

Uncontrolled Recursion in Django

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.

Record
GHSA-v9qg-3j8p-r63v
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-674
Updated
2026-11-02
OSVRHSA-2020:1324 5.3

Red Hat Security Advisory: python-django security update

Record
RHSA-2020:1324
CVSS 3.0
5.3 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVRHSA-2020:4390 5.3

Red Hat Security Advisory: python-django security update

Record
RHSA-2020:4390
CVSS 3.0
5.3 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2019-14235 7.5

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.

Record
UBUNTU-CVE-2019-14235
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVopenSUSE-SU-2019:1839-1 No score

Security update for python-Django

This update for python-Django fixes the following issues:

Security issues fixed:

  • CVE-2019-11358: Fixed prototype pollution.
  • CVE-2019-12308: Fixed XSS in AdminURLFieldWidget (bsc#1136468)
  • CVE-2019-12781: Fixed incorrect HTTP detection with reverse-proxy connecting via HTTPS (bsc#1139945).
  • CVE-2019-14232: Fixed denial-of-service possibility in django.utils.text.Truncator (bsc#1142880).
  • CVE-2019-14233: Fixed denial-of-service possibility in strip_tags() (bsc#1142882).
  • CVE-2019-14234: Fixed SQL injection possibility in key and index lookups for JSONField/HStoreField (bsc#1142883).
  • CVE-2019-14235: Fixed potential memory exhaustion in django.utils.encoding.uri_to_iri() (bsc#1142885).

Non-security issues fixed:

  • Fixed a migration crash on PostgreSQL when adding a check constraint with a contains lookup on DateRangeField or DateTimeRangeField, if the right hand side of an expression is the same type.
Record
openSUSE-SU-2019:1839-1
Updated
2026-11-02
OSVopenSUSE-SU-2019:1872-1 No score

Security update for python-Django

This update for python-Django fixes the following issues:

Security issues fixed:

  • CVE-2019-11358: Fixed prototype pollution.
  • CVE-2019-12308: Fixed XSS in AdminURLFieldWidget (bsc#1136468)
  • CVE-2019-12781: Fixed incorrect HTTP detection with reverse-proxy connecting via HTTPS (bsc#1139945).
  • CVE-2019-14232: Fixed denial-of-service possibility in django.utils.text.Truncator (bsc#1142880).
  • CVE-2019-14233: Fixed denial-of-service possibility in strip_tags() (bsc#1142882).
  • CVE-2019-14234: Fixed SQL injection possibility in key and index lookups for JSONField/HStoreField (bsc#1142883).
  • CVE-2019-14235: Fixed potential memory exhaustion in django.utils.encoding.uri_to_iri() (bsc#1142885).

Non-security issues fixed:

  • Fixed a migration crash on PostgreSQL when adding a check constraint with a contains lookup on DateRangeField or DateTimeRangeField, if the right hand side of an expression is the same type.

This update was imported from the openSUSE:Leap:15.1:Update update project.

Record
openSUSE-SU-2019:1872-1
Updated
2026-11-02
OSVPYSEC-2019-14 No score

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.

Record
PYSEC-2019-14
Updated
2026-11-02
OSVSUSE-SU-2019:2180-1 No score

Security update for python-Django

This update for python-Django fixes the following issues:

  • CVE-2019-14232: Fixed a denial of service in 'django.utils.text.Truncator' (bsc#1142880).
  • CVE-2019-14233: Fixed a denial of service in strip_tags() (bsc#1142882).
  • CVE-2019-14234: Fixed an SQL injection in key and index lookups for 'JSONField'/'HStoreField' (bsc#1142883).
  • CVE-2019-14235: Fixed a potential memory exhaustion in 'django.utils.encoding.uri_to_iri()' (bsc#1142885).
Record
SUSE-SU-2019:2180-1
Updated
2026-11-02
OSVSUSE-SU-2019:2257-1 No score

Security update for python-Django

This update for python-Django to version 1.11.23 fixes the following issues:

  • CVE-2019-14232: Fixed a denial of service in 'django.utils.text.Truncator' (bsc#1142880).
  • CVE-2019-14233: Fixed a denial of service in strip_tags() (bsc#1142882).
  • CVE-2019-14234: Fixed an SQL injection in key and index lookups for 'JSONField'/'HStoreField' (bsc#1142883).
  • CVE-2019-14235: Fixed a potential memory exhaustion in 'django.utils.encoding.uri_to_iri()' (bsc#1142885).
  • CVE-2019-12781: Fixed incorrect HTTP detection with reverse-proxy connecting via HTTPS (bsc#1139945).
  • CVE-2019-12308: Fixed a cross site scripting vulnerability in the AdminURLFieldWidget (bsc#1136468).
Record
SUSE-SU-2019:2257-1
Updated
2026-11-02
OSVSUSE-SU-2019:2335-1 No score

Security update for python-Django1

This update for python-Django1 to version 1.11.23 fixes the following issues:

  • CVE-2019-14232: Fixed a denial of service in 'django.utils.text.Truncator' (bsc#1142880).
  • CVE-2019-14233: Fixed a denial of service in strip_tags() (bsc#1142882).
  • CVE-2019-14234: Fixed an SQL injection in key and index lookups for 'JSONField'/'HStoreField' (bsc#1142883).
  • CVE-2019-14235: Fixed a potential memory exhaustion in 'django.utils.encoding.uri_to_iri()' (bsc#1142885).
  • CVE-2019-12781: Fixed incorrect HTTP detection with reverse-proxy connecting via HTTPS (bsc#1139945).
  • CVE-2019-12308: Fixed a cross site scripting vulnerability in the AdminURLFieldWidget (bsc#1136468).
Record
SUSE-SU-2019:2335-1
Updated
2026-11-02
OSVUSN-4084-1 No score

python-django vulnerabilities

It was discovered that Django incorrectly handled the Truncator function. A remote attacker could possibly use this issue to cause Django to consume resources, leading to a denial of service. (CVE-2019-14232)

It was discovered that Django incorrectly handled the strip_tags function. A remote attacker could possibly use this issue to cause Django to consume resources, leading to a denial of service. (CVE-2019-14233)

It was discovered that Django incorrectly handled certain lookups in the PostgreSQL support. A remote attacker could possibly use this issue to perform SQL injection attacks. (CVE-2019-14234)

It was discovered that Django incorrectly handled certain invalid UTF-8 octet sequences. A remote attacker could possibly use this issue to cause Django to consume resources, leading to a denial of service. (CVE-2019-14235)

Record
USN-4084-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
django
PyPI
1.11a1 up to 1.11.23
1.11.23
django
PyPI
2.1a1 up to 2.1.11
2.1.11
django
PyPI
2.2a1 up to 2.2.4
2.2.4
py-django
Alpine:v3.10
before 1.11.23-r0
1.11.23-r0
py-django
Alpine:v3.7
before 1.11.23-r0
1.11.23-r0
py-django
Alpine:v3.8
before 1.11.23-r0
1.11.23-r0
py-django
Alpine:v3.9
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.11
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.12
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.13
before 1.11.23-r0
1.11.23-r0
Show 40 moreShow less
Affected packages
PackageAffectedFixed
py3-django
Alpine:v3.14
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.15
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.16
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.17
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.18
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.19
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.20
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.21
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.22
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.23
before 1.11.23-r0
1.11.23-r0
py3-django
Alpine:v3.24
before 1.11.23-r0
1.11.23-r0
python-django
Debian:12
before 2:2.2.4-1
2:2.2.4-1
python-django
Debian:13
before 2:2.2.4-1
2:2.2.4-1
python-django
Debian:14
before 2:2.2.4-1
2:2.2.4-1
python-django
Debian:9
From an advisory covering 4 CVEs
before 1:1.10.7-2+deb9u6, plus listed versions
1:1.10.7-21:1.10.7-2+deb9u11:1.10.7-2+deb9u21:1.10.7-2+deb9u31:1.10.7-2+deb9u41:1.10.7-2+deb9u5
1:1.10.7-2+deb9u6
python-django
Debian:10
From an advisory covering 4 CVEs
before 1:1.11.23-1~deb10u1, plus listed versions
1:1.11.21-11:1.11.22-11:1.11.22-1~deb10u1
1:1.11.23-1~deb10u1
django
PyPI
1.11a1 up to 1.11.23, plus listed versions
1.111.11.11.11.101.11.111.11.12
Show 19 moreShow less
1.11.131.11.141.11.151.11.161.11.171.11.181.11.21.11.201.11.211.11.221.11.31.11.41.11.51.11.61.11.71.11.81.11.91.11b11.11rc1
1.11.23
django
PyPI
2.1a1 up to 2.1.11, plus listed versions
2.12.1.12.1.102.1.22.1.3
Show 7 moreShow less
2.1.42.1.52.1.72.1.82.1.92.1b12.1rc1
2.1.11
django
PyPI
2.2a1 up to 2.2.4, plus listed versions
2.22.2.12.2.22.2.32.2b12.2rc1
2.2.4
django
PyPI
2.2 up to 2.2.4, 1.11 up to 1.11.23, 2.1 up to 2.1.11, plus listed versions
1.11.11.11.21.11.31.11.41.11.5
Show 28 moreShow less
1.11.61.11.71.11.81.11.91.11.101.11.111.11.121.11.131.11.141.11.151.11.161.11.171.11.181.11.201.11.211.11.222.1.12.1.22.1.32.1.42.1.52.1.72.1.82.1.92.1.102.2.12.2.22.2.3
2.2.41.11.232.1.11
python-django
Red Hat:openstack:15::el8
From an advisory covering 5 CVEs
before 0:2.1.11-1.el8ost
0:2.1.11-1.el8ost
python-django-bash-completion
Red Hat:openstack:15::el8
From an advisory covering 5 CVEs
before 0:2.1.11-1.el8ost
0:2.1.11-1.el8ost
python3-django
Red Hat:openstack:15::el8
From an advisory covering 5 CVEs
before 0:2.1.11-1.el8ost
0:2.1.11-1.el8ost
python-django
Red Hat:openstack:13::el7
From an advisory covering 5 CVEs
before 0:1.11.27-1.el7ost
0:1.11.27-1.el7ost
python-django-bash-completion
Red Hat:openstack:13::el7
From an advisory covering 5 CVEs
before 0:1.11.27-1.el7ost
0:1.11.27-1.el7ost
python2-django
Red Hat:openstack:13::el7
From an advisory covering 5 CVEs
before 0:1.11.27-1.el7ost
0:1.11.27-1.el7ost
python-Django
SUSE:OpenStack Cloud 7
From an advisory covering 4 CVEs
before 1.8.19-3.15.1
1.8.19-3.15.1
python-Django
SUSE:HPE Helion OpenStack 8
From an advisory covering 6 CVEs
before 1.11.23-3.12.1
1.11.23-3.12.1
python-Django
SUSE:OpenStack Cloud 8
From an advisory covering 6 CVEs
before 1.11.23-3.12.1
1.11.23-3.12.1
python-Django
SUSE:OpenStack Cloud Crowbar 8
From an advisory covering 6 CVEs
before 1.11.23-3.12.1
1.11.23-3.12.1
python-Django1
SUSE:OpenStack Cloud 9
From an advisory covering 6 CVEs
before 1.11.23-3.9.1
1.11.23-3.9.1
python-Django1
SUSE:OpenStack Cloud Crowbar 9
From an advisory covering 6 CVEs
before 1.11.23-3.9.1
1.11.23-3.9.1
python-django
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1
Show 30 moreShow less
1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.51.6.1-2ubuntu0.61.6.1-2ubuntu0.81.6.1-2ubuntu0.91.6.1-2ubuntu0.101.6.1-2ubuntu0.111.6.1-2ubuntu0.121.6.1-2ubuntu0.131.6.1-2ubuntu0.141.6.1-2ubuntu0.151.6.1-2ubuntu0.161.6.11-0ubuntu11.6.11-0ubuntu1.11.6.11-0ubuntu1.21.6.11-0ubuntu1.31.6.11-0ubuntu1.3+esm11.6.11-0ubuntu1.3+esm21.6.11-0ubuntu1.3+esm31.6.11-0ubuntu1.3+esm41.6.11-0ubuntu1.3+esm51.6.11-0ubuntu1.3+esm61.6.11-0ubuntu1.3+esm71.6.11-0ubuntu1.3+esm81.6.11-0ubuntu1.3+esm91.6.11-0ubuntu1.3+esm101.6.11-0ubuntu1.3+esm111.6.11-0ubuntu1.3+esm12
None known
python-django
Ubuntu:16.04:LTS
before 1.8.7-1ubuntu5.10, plus listed versions
1.7.9-1ubuntu51.8.5-2ubuntu11.8.7-1ubuntu11.8.7-1ubuntu21.8.7-1ubuntu3
Show 10 moreShow less
1.8.7-1ubuntu41.8.7-1ubuntu51.8.7-1ubuntu5.11.8.7-1ubuntu5.21.8.7-1ubuntu5.41.8.7-1ubuntu5.51.8.7-1ubuntu5.61.8.7-1ubuntu5.71.8.7-1ubuntu5.81.8.7-1ubuntu5.9
1.8.7-1ubuntu5.10
python-django
Ubuntu:18.04:LTS
before 1:1.11.11-1ubuntu1.5, plus listed versions
1:1.11.4-1ubuntu11:1.11.6-1ubuntu11:1.11.9-1ubuntu11:1.11.11-1ubuntu11:1.11.11-1ubuntu1.11:1.11.11-1ubuntu1.21:1.11.11-1ubuntu1.31:1.11.11-1ubuntu1.4
1:1.11.11-1ubuntu1.5
python-django
Ubuntu:20.04:LTS
before 1:1.11.22-1ubuntu1
1:1.11.22-1ubuntu1
python-django
Ubuntu:16.04:LTS
From an advisory covering 4 CVEs
before 1.8.7-1ubuntu5.10, plus listed versions
1.7.9-1ubuntu51.8.5-2ubuntu11.8.7-1ubuntu11.8.7-1ubuntu21.8.7-1ubuntu3
Show 10 moreShow less
1.8.7-1ubuntu41.8.7-1ubuntu51.8.7-1ubuntu5.11.8.7-1ubuntu5.21.8.7-1ubuntu5.41.8.7-1ubuntu5.51.8.7-1ubuntu5.61.8.7-1ubuntu5.71.8.7-1ubuntu5.81.8.7-1ubuntu5.9
1.8.7-1ubuntu5.10
python-django
Ubuntu:18.04:LTS
From an advisory covering 4 CVEs
before 1:1.11.11-1ubuntu1.5, plus listed versions
1:1.11.4-1ubuntu11:1.11.6-1ubuntu11:1.11.9-1ubuntu11:1.11.11-1ubuntu11:1.11.11-1ubuntu1.11:1.11.11-1ubuntu1.21:1.11.11-1ubuntu1.31:1.11.11-1ubuntu1.4
1:1.11.11-1ubuntu1.5
python-Django
openSUSE:Leap 15.1
From an advisory covering 7 CVEs
before 2.2.4-lp151.2.3.1
2.2.4-lp151.2.3.1
python-Django
SUSE:Package Hub 15 SP1
From an advisory covering 7 CVEs
before 2.2.4-bp151.3.3.1
2.2.4-bp151.3.3.1

History

History
RecordedChangedSources
affected, facts
affectedOSV
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2019-14235 is a high vulnerability (CVSS 7.5) in Djangoproject Django, published August 1, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.07%, the 87th percentile. Fixed in django 1.11.23.

References

Show 59 moreShow less
MoveEnter Open