#VU24846 SQL injection in Django


Published: 2020-06-03 | Updated: 2021-09-01

Vulnerability identifier: #VU24846

Vulnerability risk: Medium

CVSSv3.1: 5.1 [CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C]

CVE-ID: CVE-2020-7471

CWE-ID: CWE-89

Exploitation vector: Network

Exploit availability: Yes

Vulnerable software:
Django
Web applications / CMS

Vendor: Django Software Foundation

Description

The vulnerability allows a remote attacker to execute arbitrary SQL queries in database.

The vulnerability exists due to insufficient sanitization of user-supplied data 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 in Django 1.11 before 1.11.28, 2.2 before 2.2.10, and 3.0 before 3.0.3. A remote attacker can send a specially crafted request to the affected application and execute arbitrary SQL commands within the application database.

Successful exploitation of this vulnerability may allow a remote attacker to read, delete, modify data in database and gain complete control over the affected application.

Mitigation
Install update from vendor's website.

Vulnerable software versions

Django: 3.0 - 3.0.2, 2.1.11 - 2.2.9, 1.11 - 1.11.27


External links
http://docs.djangoproject.com/en/3.0/releases/security/
http://groups.google.com/forum/#!topic/django-announce/X45S86X5bZI
http://www.djangoproject.com/weblog/2020/feb/03/security-releases/
http://www.openwall.com/lists/oss-security/2020/02/03/1


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability. However, proof of concept for this vulnerability is available.


Latest bulletins with this vulnerability