CVE-2026-1287 PUBLISHED

Potential SQL injection in column aliases via control characters

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. FilteredRelation is subject to SQL injection in column aliases via control characters, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to QuerySet methods annotate(), aggregate(), extra(), values(), values_list(), and alias(). 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
  • Jake Howard 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