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.
References
- https://nvd.nist.gov/vuln/detail/CVE-2022-28346
- https://docs.djangoproject.com/en/4.0/releases/security/
- https://groups.google.com/forum/#!forum/django-announce
- https://www.djangoproject.com/weblog/2022/apr/11/security-releases/
- http://www.openwall.com/lists/oss-security/2022/04/11/1
- https://lists.debian.org/debian-lts-announce/2022/04/msg00013.html
- https://github.com/django/django/commit/93cae5cb2f9a4ef1514cf1a41f714fef08005200
- https://github.com/advisories/GHSA-2gwj-7jmv-h26r