SQL injection in Django



Published: 2020-02-03
Risk Medium
Patch available YES
Number of vulnerabilities 1
CVE-ID CVE-2020-7471
CWE-ID CWE-89
Exploitation vector Network
Public exploit Public exploit code for vulnerability #1 is available.
Vulnerable software
Subscribe
Django
Web applications / CMS

Vendor Django Software Foundation

Security Bulletin

This security bulletin contains one medium risk vulnerability.

1) SQL injection

EUVDB-ID: #VU24846

Risk: Medium

CVSSv3.1:

CVE-ID: CVE-2020-7471

CWE-ID:

Exploit availability:

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: 1.11 - 3.0.2

Fixed software versions

CPE2.3 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?

Is there known malware, which exploits this vulnerability?



###SIDEBAR###