CVE-2026-1287

Summary

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.

Affected Software

VendorProductVersion RangeStatus
djangoprojectDjango6.0 < 6.0.2affected
djangoprojectDjango6.0.2unaffected
djangoprojectDjango5.2 < 5.2.11affected
djangoprojectDjango5.2.11unaffected
djangoprojectDjango4.2 < 4.2.28affected
djangoprojectDjango4.2.28unaffected

Weaknesses

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

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

Django: Django: SQL Injection via crafted column aliases

Additional References

References