Vulnerability advisory
GHSA-hpr9-3m2g-3j9p
Django vulnerable to SQL injection in column aliases
Also known as BIT-django-2025-59681CVE-2025-59681PYSEC-2025-106
Severity
- CVSS 3.x
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N
Affected versions
| Affected | Fixed in |
|---|---|
4.2 to before 4.2.25 | 4.2.25Advisories → |
5.1 to before 5.1.13 | 5.1.13Advisories → |
5.2 to before 5.2.7 | 5.2.7Advisories → |
Description
An issue was discovered in Django 4.2 before 4.2.25, 5.1 before 5.1.13, and 5.2 before 5.2.7. QuerySet.annotate(), QuerySet.alias(), QuerySet.aggregate(), and QuerySet.extra() are subject to SQL injection in column aliases, when using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to these methods (on MySQL and MariaDB).
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2025-59681 ↗
- Webgithub.com/django/django/commit/41b43c74bda19753c757036673ea9db74acf494a ↗
- Webgithub.com/django/django/commit/43d84aef04a9e71164c21a74885996981857e66e ↗
- Webdocs.djangoproject.com/en/dev/releases/security ↗
- Packagegithub.com/django/django ↗
- Webgithub.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2025-106.yaml ↗
- Webgroups.google.com/g/django-announce ↗
- Webwww.djangoproject.com/weblog/2025/oct/01/security-releases ↗
- Webwww.openwall.com/lists/oss-security/2025/10/01/3 ↗