Django is vulnerable to SQL injection in column aliases
Moderate severity
GitHub Reviewed
Published
Dec 2, 2025
to the GitHub Advisory Database
•
Updated Dec 3, 2025
Package
Affected versions
>= 5.2a1, < 5.2.9
>= 5.1a1, < 5.1.15
>= 4.2a1, < 4.2.27
Patched versions
5.2.9
5.1.15
4.2.27
Description
Published by the National Vulnerability Database
Dec 2, 2025
Published to the GitHub Advisory Database
Dec 2, 2025
Reviewed
Dec 3, 2025
Last updated
Dec 3, 2025
An issue was discovered in 5.2 before 5.2.9, 5.1 before 5.1.15, and 4.2 before 4.2.27.
FilteredRelationis subject to SQL injection in column aliases, using a suitably crafted dictionary, with dictionary expansion, as the**kwargspassed toQuerySet.annotate()orQuerySet.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