CVE-2026-1312 PUBLISHED

Potential SQL injection via QuerySet.order_by and FilteredRelation

Assigner: DSF
Reserved: 21.01.2026 Published: 03.02.2026 Updated: 03.02.2026

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.

Product Status

Vendor djangoproject
Product Django
Versions Default: unaffected
  • affected from 6.0 to 6.0.2 (excl.)
  • Version 6.0.2 is unaffected
  • affected from 5.2 to 5.2.11 (excl.)
  • Version 5.2.11 is unaffected
  • affected from 4.2 to 4.2.28 (excl.)
  • Version 4.2.28 is unaffected

Credits

  • Solomon Kebede reporter
  • Jacob Walls remediation developer
  • Jacob Walls coordinator

References

Problem Types

  • CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') CWE

Impacts

  • CAPEC-66: SQL Injection