SB2020020440 - SQL injection in py-django (Alpine package)
Published: February 4, 2020
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 1 security vulnerability.
1) SQL injection (CVE-ID: CVE-2020-7471)
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.
References
- https://git.alpinelinux.org/aports/commit/?id=60277343747cce7d94d0c5a58579638c5ac6db3e
- https://git.alpinelinux.org/aports/commit/?id=912b9addd81a46605b7e07e38cf1c1adf7a1e4ae
- https://git.alpinelinux.org/aports/commit/?id=a14ae71515776e651beb766b7cf6483e2d502e9e
- https://git.alpinelinux.org/aports/commit/?id=a0471eb3f0be9cbb4312c09bc32f5b3c76bcc0a3
- https://git.alpinelinux.org/aports/commit/?id=e808329bfca2df44cfac5d7edcbdce4e0aef0920