CVE-2026-1312
Potential SQL injection via QuerySet.order_by and FilteredRelation
HIGH 8.5EPSS 0.9%
An issue was discovered in 6.0 before 6.0.2, 5.2 before 5.2.11, and 4.2 before 4.2.28. `.QuerySet.order_by()` is subject to SQL injection in column aliases containing periods when the same alias is, using a suitably crafted dictionary, with dictionary expansion, used in `FilteredRelation`. 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 Solomon Kebede for reporting this issue.
- Affected
- djangoproject · Django
- CVSS v3.1 CNA
- 8.5 HIGH
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - CVSS v3.1 CNA
- 5.4 MEDIUM
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N - EPSS
- 0.91% chance of exploitation in the next 30 days, 59th percentile
- Published
- 2026-02-03
- Updated
- 2026-07-15
Proof-of-concept exploits (2)
- alpinine/CVE-2026-1312-Testing0★ · 2026-04-10
- sw0rd1ight/CVE-2026-13122★ · 2026-02-21
Security advisories
- https://docs.djangoproject.com/en/dev/releases/security
- https://www.djangoproject.com/weblog/2026/feb/03/security-releases
- advisories/GHSA-6426-9fv3-65x8
- https://groups.google.com/g/django-announce