CVE-2026-1287
Vulnerability Summary
Timeline
Description
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.
CVSS Metrics
- v4.0•CRITICAL•Score: 9.3CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U
- v3.1•MEDIUM•Score: 5.4CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
EPSS Trends
Current EPSS score: 0.78%• Percentile: 54%
Techniques & Countermeasures
- CWE-89•Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
The product 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. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
Affected Systems
- chainguard•authentik
< 2025.12.1-r2
- chainguard•authentik-fips
< 2025.12.1-r2
- chainguard•awx
< 24.6.1-r27
- chainguard•label-studio
< 1.22.0-r3
- debian•python-django
< 2:2.2.28-1~deb11u12 | < 3:3.2.25-0+deb12u2 | < 3:4.2.28-0+deb13u1 | < 3:4.2.28-1
- djangoproject•django
≥ 4.2, < 4.2.28 | ≥ 5.2, < 5.2.11 | ≥ 6.0, < 6.0.2
- PyPI•django
< 5.2.1+echo.1 | ≥ 6.0, < 6.0.2 | ≥ 6.0a1, < 6.0.2 | ≥ 5.2a1, < 5.2.11 | ≥ 4.2a1, < 4.2.28
References (27)
- https://docs.djangoproject.com/en/dev/releases/security/
- https://groups.google.com/g/django-announce
- https://www.djangoproject.com/weblog/2026/feb/03/security-releases/
- https://nvd.nist.gov/vuln/detail/CVE-2026-1287
- https://github.com/django/django/commit/e891a84c7ef9962bfcc3b4685690219542f86a22
- https://docs.djangoproject.com/en/dev/releases/security
- https://github.com/django/django
- https://www.djangoproject.com/weblog/2026/feb/03/security-releases
- https://advisory.echohq.com/cve/CVE-2026-1287
- https://github.com/advisories/GHSA-gvg8-93h5-g6qq
- https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2026-46.yaml
- https://access.redhat.com/security/cve/CVE-2026-1287
- https://bugzilla.redhat.com/show_bug.cgi?id=2436339
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-1287.json
- https://access.redhat.com/errata/RHSA-2026:3959
- https://access.redhat.com/errata/RHSA-2026:5971
- https://access.redhat.com/errata/RHSA-2026:3958
- https://access.redhat.com/errata/RHSA-2026:5970
- https://access.redhat.com/errata/RHSA-2026:14835
- https://access.redhat.com/errata/RHSA-2026:3962
- https://access.redhat.com/errata/RHSA-2026:3960
- https://access.redhat.com/errata/RHSA-2026:2694
- https://access.redhat.com/errata/RHSA-2026:6291
- https://security-tracker.debian.org/tracker/CVE-2026-1287
- https://github.com/django/django/
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/1xxx/CVE-2026-1287.json
- https://pypi.org/project/Django/