#VU24846 SQL injection in Django - CVE-2020-7471

 

#VU24846 SQL injection in Django - CVE-2020-7471

Published: February 3, 2020 / Updated: September 1, 2021


Vulnerability identifier: #VU24846
Vulnerability risk: Medium
CVSSv4.0: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/U:Green
CVE-ID: CVE-2020-7471
CWE-ID: CWE-89
Exploitation vector: Remote access
Exploit availability: Public exploit is available
Vulnerable software:
Django
Software 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.


Remediation

Install update from vendor's website.

External links