Vulnerability advisory
GHSA-rqw2-ghq9-44m7
Django is vulnerable to SQL injection in column aliases
Also known as BIT-django-2025-13372CVE-2025-13372PYSEC-2025-104
Severity
- CVSS 3.x
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Affected versions
| Affected | Fixed in |
|---|---|
5.2a1 to before 5.2.9 | 5.2.9Advisories → |
5.1a1 to before 5.1.15 | 5.1.15Advisories → |
4.2a1 to before 4.2.27 | 4.2.27Advisories → |
Description
An issue was discovered in 5.2 before 5.2.9, 5.1 before 5.1.15, and 4.2 before 4.2.27.
FilteredRelation is subject to SQL injection in column aliases, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to QuerySet.annotate() or QuerySet.alias() on PostgreSQL.
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 Stackered for reporting this issue.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2025-13372 ↗
- Webgithub.com/django/django/commit/479415ce5249bcdebeb6570c72df2a87f45a7bbf ↗
- Webgithub.com/django/django/commit/56aea00c3c5e1aacf4ed05f8ee06c2e78f02cea0 ↗
- Webgithub.com/django/django/commit/5b90ca1e7591fa36fccf2d6dad67cf1477e6293e ↗
- Webgithub.com/django/django/commit/9c6a5bde24240382807d13bc3748d08444709355 ↗
- Webgithub.com/django/django/commit/f997037b235f6b5c9e7c4a501491ec45f3400f3d ↗
- Webdocs.djangoproject.com/en/dev/releases/security ↗
- Packagegithub.com/django/django ↗
- Webgithub.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2025-104.yaml ↗
- Webgroups.google.com/g/django-announce ↗
- Webwww.djangoproject.com/weblog/2025/dec/02/security-releases ↗