Django vulnerable to SQL injection via _connector keyword argument in QuerySet and Q objects.
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.
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2025-64459US | — | Exploit | ||
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… | ||||
references
External citations — patches, advisories, analysis.
- https://docs.djangoproject.com/en/dev/releases/securityWEB
- https://github.com/django/djangoPACKAGE
- https://github.com/django/django/commit/06dd38324ac3d60d83d9f3adabf0dcdf423d2a85WEB
- https://github.com/django/django/commit/59ae82e67053d281ff4562a24bbba21299f0a7d4WEB
- https://github.com/django/django/commit/6703f364d767e949c5b0e4016433ef75063b4f9bWEB
- https://github.com/django/django/commit/72d2c87431f2ae0431d65d0ec792047f078c8241WEB
- https://github.com/omarkurt/django-connector-CVE-2025-64459-testbedWEB
- https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2025-108.yamlWEB
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan