CVE-2020-7471
Django vulnerability analysis and mitigation

Overview

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 was discovered by Simon Charette and disclosed on February 3, 2020. The issue allows SQL injection if untrusted data is used as a StringAgg delimiter in Django applications that offer downloads of data as a series of rows with a user-specified column delimiter (Django Security, Ubuntu Security).

Technical details

The vulnerability exists in the django.contrib.postgres.aggregates.StringAgg aggregation function, which was subject to SQL injection when using a suitably crafted delimiter. By passing a maliciously crafted delimiter to a contrib.postgres.aggregates.StringAgg instance, it was possible to break escaping and inject malicious SQL. The vulnerability has been assigned a CVSS v3.1 score of 9.8 (CRITICAL) with vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (NetApp Advisory).

Impact

Successful exploitation of this vulnerability could lead to disclosure of sensitive information, addition or modification of data, or Denial of Service (DoS). A remote attacker could potentially leverage this vulnerability to perform SQL injection attacks and manipulate the database (Debian Security, NetApp Advisory).

Exploitability

The vulnerability can be exploited remotely by an attacker without requiring authentication or user interaction. The attack complexity is considered low, making it relatively straightforward to exploit when the conditions are met (NetApp Advisory).

Mitigation and workarounds

The vulnerability has been fixed in Django versions 1.11.28, 2.2.10, and 3.0.3. Users are strongly encouraged to upgrade to these patched versions. The fixes involve properly escaping the StringAgg delimiter parameter. Patches have been applied to Django's master branch and the respective release branches (Django Security).

Additional resources


SourceThis report was generated using AI

Related Django vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-53877MEDIUM6.3
  • Django logoDjango
  • authentik-fips-2026.2
NoYesJul 07, 2026
CVE-2026-53878MEDIUM5.3
  • Django logoDjango
  • authentik-fips-2026.2
NoYesJul 07, 2026
CVE-2026-48588LOW2.3
  • Django logoDjango
  • python-django5
NoYesJul 07, 2026
CVE-2026-8404LOW2.3
  • Django logoDjango
  • python313-Django
NoYesJun 03, 2026
CVE-2026-7666LOW2.3
  • Django logoDjango
  • python3-django-bash-completion
NoYesJun 03, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management