Home

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.

PUBLISHED Reserved 2025-11-04 | Published 2025-11-05 | Updated 2025-11-08 | Assigner DSF

Problem types

CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Product status

Default status
unaffected

5.2 (semver) before 5.2.8
affected

5.2.8 (semver)
unaffected

5.1 (semver) before 5.1.14
affected

5.1.14 (semver)
unaffected

4.2 (semver) before 4.2.26
affected

4.2.26 (semver)
unaffected

Timeline

2025-10-20:Initial report received.
2025-10-20:Vulnerability confirmed.
2025-11-05:Security release issued.

Credits

cyberstan reporter

Jacob Walls remediation developer

Natalia Bidart coordinator

References

shivasurya.me/...07/django-sql-injection-CVE-2025-64459.html

docs.djangoproject.com/en/dev/releases/security/ (Django security archive) vendor-advisory

groups.google.com/g/django-announce (Django releases announcements) mailing-list

www.djangoproject.com/weblog/2025/nov/05/security-releases/ (Django security releases issued: 5.2.8, 5.1.14, and 4.2.26) vendor-advisory

cve.org (CVE-2025-64459)

nvd.nist.gov (CVE-2025-64459)

Download JSON