SQLi via FilteredRelation column aliases before Django 6.0.2
CVE-2026-1287 Published on February 3, 2026
Potential SQL injection in column aliases via control characters
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.
Vulnerability Analysis
CVE-2026-1287 can be exploited with network access, and requires small amount of user privileges. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to have a high impact on confidentiality and integrity, and a small impact on availability.
Timeline
Initial report received.
Vulnerability confirmed. 14 days later.
Security release issued. 8 days later.
Weakness Type
What is a SQL Injection Vulnerability?
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.
CVE-2026-1287 has been classified to as a SQL Injection vulnerability or weakness.
Products Associated with CVE-2026-1287
You can be notified by email with stack.watch whenever vulnerabilities like CVE-2026-1287 are published in these products:
Affected Versions
djangoproject Django:- Version 6.0 and below 6.0.2 is affected.
- Version 6.0.2 is unaffected.
- Version 5.2 and below 5.2.11 is affected.
- Version 5.2.11 is unaffected.
- Version 4.2 and below 4.2.28 is affected.
- Version 4.2.28 is unaffected.
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.