First published: Mon Feb 03 2020(Updated: )
Django 1.11 before 1.11.28, 2.2 before 2.2.10, and 3.0 before 3.0.3 allows SQL Injection if untrusted data is used as a StringAgg delimiter (e.g., in Django applications that offer downloads of data as a series of rows with a user-specified column delimiter). By passing a suitably crafted delimiter to a contrib.postgres.aggregates.StringAgg instance, it was possible to break escaping and inject malicious SQL.
Credit: cve@mitre.org cve@mitre.org
Affected Software | Affected Version | How to fix |
---|---|---|
debian/python-django | <=1:1.11.27-1~deb10u1<=2:2.2.9-2 | 2:2.2.10-1 1:1.11.28-1~deb10u1 1:1.10.7-2+deb9u8 |
Djangoproject Django | >=1.11<1.11.28 | |
Djangoproject Django | >=2.2<2.2.10 | |
Djangoproject Django | >=3.0<3.0.3 | |
pip/Django | >=3.0<3.0.3 | 3.0.3 |
pip/Django | >=2.0<2.2.10 | 2.2.10 |
pip/django | <1.11.28 | 1.11.28 |
debian/python-django | 2:2.2.28-1~deb11u2 3:3.2.19-1+deb12u1 3:4.2.16-1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of CVE-2020-7471 is critical with a CVSS score of 9.8.
CVE-2020-7471 affects Django versions 1.11 before 1.11.28, 2.2 before 2.2.10, and 3.0 before 3.0.3.
The vulnerability in CVE-2020-7471 is SQL Injection if untrusted data is used as a StringAgg delimiter.
To fix CVE-2020-7471, update Django to version 3.0.3, 2.2.10, or 1.11.28 depending on the version you are using.
You can find more information about CVE-2020-7471 in the following references: [NVD](https://nvd.nist.gov/vuln/detail/CVE-2020-7471), [GitHub](https://github.com/django/django/commit/eb31d845323618d688ad429479c6dda973056136), [Google Groups](https://groups.google.com/forum/#!topic/django-announce/X45S86X5bZI).