GitHub Advisoryadvisory · PyPI
GHSA-hpr9-3m2g-3j9p Django vulnerable to SQL injection in column aliases
HIGH
Official page ↗
- Aliases
- CVE-2025-59681
- Ecosystem
- PyPI
- Packages
- Django
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N
- Weaknesses
- CWE-89
- Reviewed
- 2025-10-01
Affected packages
• PyPI Django: >= 4.2, < 4.2.25 → fixed in 4.2.25
• PyPI Django: >= 5.1, < 5.1.13 → fixed in 5.1.13
• PyPI Django: >= 5.2, < 5.2.7 → fixed in 5.2.7
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).
Related
Alias · CVE (1)
- CVE-2025-59681 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. vulnerability
Weakness · CWE (1)
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2025-59681 advisory
- https://github.com/django/django/commit/41b43c74bda19753c757036673ea9db74acf494a web
- https://github.com/django/django/commit/43d84aef04a9e71164c21a74885996981857e66e web
- https://docs.djangoproject.com/en/dev/releases/security web
- https://github.com/django/django package
- https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2025-106.yaml web
- https://groups.google.com/g/django-announce web
- https://www.djangoproject.com/weblog/2025/oct/01/security-releases web
- http://www.openwall.com/lists/oss-security/2025/10/01/3 web