---
id: CVE-2026-1312
title: >-
  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, w…
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.

  `.QuerySet.order_by()` is subject to SQL injection in column aliases
  containing periods when the same alias is, using a suitably crafted
  dictionary, w…
severity: medium
cvss: 5.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N'
cwe:
  - CWE-89
vendor: djangoproject
product: django
affected:
  - 'django >= 4.2, < 4.2.28'
  - 'django >= 5.2, < 5.2.11'
  - 'django >= 6.0, < 6.0.2'
patched:
  - django 6.0.2
published: '2026-02-03'
updated: '2026-06-30'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-1312'
references:
  - url: 'https://docs.djangoproject.com/en/dev/releases/security/'
    label: 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92
  - url: 'https://groups.google.com/g/django-announce'
    label: 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92
  - url: 'https://www.djangoproject.com/weblog/2026/feb/03/security-releases/'
    label: 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92
  - url: 'https://access.redhat.com/errata/RHSA-2026:14835'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:2694'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:3958'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:3959'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:3960'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:3962'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:5970'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:5971'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:6291'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/security/cve/CVE-2026-1312'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2436342'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-1312.json
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-1312'
  - url: >-
      https://github.com/django/django/commit/005d60d97c4dfb117503bdb6f2facfcaf9315d84
  - url: >-
      https://github.com/django/django/commit/69065ca869b0970dff8fdd8fafb390bf8b3bf222
  - url: 'https://docs.djangoproject.com/en/dev/releases/security'
  - url: 'https://github.com/django/django'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2026-47.yaml
  - url: 'https://www.djangoproject.com/weblog/2026/feb/03/security-releases'
tags:
  - nvd
  - exploit-available
  - osv
  - pip
epss: 0.00851
epssPercentile: 0.56391
ingestedAt: '2026-07-03T18:53:52.162Z'
exploits:
  github: 2
  githubRepos:
    - 'https://github.com/sw0rd1ight/CVE-2026-1312'
    - 'https://github.com/alpinine/CVE-2026-1312-Testing'
  checkedAt: '2026-09-25T08:20:49.919Z'
exploitAvailable: true
aliases:
  - GHSA-6426-9fv3-65x8
  - BIT-django-2026-1312
  - PYSEC-2026-47
ecosystem: pip
---

## Overview

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.

## Affected

- `django >= 4.2, < 4.2.28`
- `django >= 5.2, < 5.2.11`
- `django >= 6.0, < 6.0.2`

## Remediation

Upgrade past the affected range:

- `django 6.0.2`

## Package advisory (CVE-2026-1312)

Affected packages:

- `django >= 6.0a1, < 6.0.2`
- `django >= 5.2a1, < 5.2.11`
- `django >= 4.2a1, < 4.2.28`

Patched in:

- `django 6.0.2`
- `django 5.2.11`
- `django 4.2.28`

Source: https://osv.dev/vulnerability/GHSA-6426-9fv3-65x8
