What’s Vulnerable › Vulnerabilities
CVE-2025-64459: Potential SQL injection via _connector keyword argument in QuerySet and Q objects
- Severity: critical (CVSS 9.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 19.3% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2025-11-05 · updated 2026-06-17
- Weakness: CWE-89
Description
An issue was discovered in 5.1 before 5.1.14, 4.2 before 4.2.26, and 5.2 before 5.2.8. The methods `QuerySet.filter()`, `QuerySet.exclude()`, and `QuerySet.get()`, and the class `Q()`, are subject to SQL injection when using a suitably crafted dictionary, with dictionary expansion, as the `_connector` argument. Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected. Django would like to thank cyberstan for reporting this issue.
Affected products
- Django: from 4.2 before 4.2.26; from 5.1 before 5.1.14; from 5.2 before 5.2.8 — fixed in 4.2.26, 5.1.14, 5.2.8
- Pypi Django: from 5.2a1 before 5.2.8; from 5.0a1 before 5.1.14; before 4.2.26; 5.2, 5.2.1, 5.2.2, 5.2.3, 5.2.4, 5.2.5 (+402) — fixed in 5.2.8, 5.1.14, 4.2.26
How to fix
Upgrade to a fixed version: Django 4.2.26, 5.1.14, 5.2.8; Pypi Django 5.2.8, 5.1.14, 4.2.26. Check the vendor advisory for mitigations.
References
- https://docs.djangoproject.com/en/dev/releases/security/
- https://groups.google.com/g/django-announce
- https://www.djangoproject.com/weblog/2025/nov/05/security-releases/
- https://shivasurya.me/security/django/2025/11/07/django-sql-injection-CVE-2025-64459.html
Get alerted when CVE-2025-64459 or the next vulnerability affects your stack