GHSA-frmv-pr5f-9mcr

Django vulnerable to SQL injection via _connector keyword argument in QuerySet and Q objects.

At a glance

Published
Updated
CVE
CVE-2025-64459
Aliases
BIT-django-2025-64459, PYSEC-2025-108
CVSS_V3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

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 packages

PackageVersions
PyPI · djangointroduced 5.2a1, fixed 5.2.8
PyPI · djangointroduced 5.0a1, fixed 5.1.14
PyPI · djangointroduced 0, fixed 4.2.26

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database