CVE-2022-28346: SQL Injection
QuerySet.annotate(), aggregate(), and extra() methods were subject to SQL injection in column aliases, using a suitably crafted dictionary, with dictionary expansion, as the kwargs passed to these methods.
This issue has High severity, according to the Django security policy [1].
Other sources
A flaw was found in the Django package, which leads to a SQL injection. This flaw allows an attacker using a crafted dictionary containing malicious SQL queries to compromise the database completely.
An issue was discovered in Django 2.2 before 2.2.28, 3.2 before 3.2.13, and 4.0 before 4.0.4. QuerySet.annotate(), aggregate(), and extra() methods are subject to SQL injection in column aliases via a crafted dictionary (with dictionary expansion) as the passed kwargs.
— GitHub
An issue was discovered in Django 2.2 before 2.2.28, 3.2 before 3.2.13, and 4.0 before 4.0.4. QuerySet.annotate(), aggregate(), and extra() methods are subject to SQL injection in column aliases via a crafted dictionary (with dictionary expansion) as the passed kwargs.
Affected Software
Remediation
Patch Available
Patch Available
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2022-28346?
CVE-2022-28346 refers to a SQL injection vulnerability in the Django package.
How severe is CVE-2022-28346?
CVE-2022-28346 is considered critical with a severity score of 9.8.
Which versions of Django are affected by CVE-2022-28346?
Django versions 2.2 before 2.2.28, 3.2 before 3.2.13, and 4.0 before 4.0.4 are affected by CVE-2022-28346.
How can I fix CVE-2022-28346?
To fix CVE-2022-28346, update Django to versions 2.2.28, 3.2.13, or 4.0.4 or later.
Where can I find more information about CVE-2022-28346?
You can find more information about CVE-2022-28346 in the official CVE record, NVD database, Django website, Bugzilla, and Red Hat Security Advisories.