Skip to content
Fencer Vulns
medium 5.3

CVE-2019-12781 json

Django Incorrect HTTP detection with reverse-proxy connecting via HTTPS

published 2019-07-01 7 y ago modified 2026-06-17 4 mo ago also GHSA-6c7v-2f49-8h26 , PYSEC-2019-10 , EUVD-2019-0034

cvss
5.3
version 3.0, NVD
cisa kev
Not listed
not in CISA's catalog
epss
1.7%
EPSS 1.7% chance of exploitation in 30 days, percentile 77%
public exploits
0
none known

Summary

An issue was discovered in Django 1.11 before 1.11.22, 2.1 before 2.1.10, and 2.2 before 2.2.3. An HTTP request is not redirected to HTTPS when the SECURE_PROXY_SSL_HEADER and SECURE_SSL_REDIRECT settings are used, and the proxy connects to Django via HTTPS. In other words, django.http.HttpRequest.scheme has incorrect behavior when a client uses HTTP.

Patch / fix

  • pypi django 1.11.22, 2.1.10, 2.2.3
  • djangoproject django 1.11.22, 2.1.10, 2.2.3
  • python-django Debian 14, Debian 13, Debian 12 1:1.11.22-1

debian advisories DEBIAN-CVE-2019-12781

  • python-django Ubuntu 16.04 LTS 1.8.7-1ubuntu5.9
  • python-django Ubuntu 18.04 LTS 1:1.11.11-1ubuntu1.4

ubuntu advisories UBUNTU-CVE-2019-12781

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • tfm satellite capsule 6.8, satellite 6.8 6.1-1.el7sat
  • kobo satellite capsule 6.8, satellite 6.8 0.5.1-1.el7sat
  • pulp satellite capsule 6.8, satellite 6.8 2.21.3-1.el7sat
  • gofer satellite capsule 6.8, satellite 6.8 2.12.5-7.el7sat
  • future satellite capsule 6.8, satellite 6.8 0.16.0-11.el7sat
  • ostree satellite capsule 6.8, satellite 6.8 2017.1-2.atomic.el7
  • foreman satellite capsule 6.8, satellite 6.8 2.1.2.19-1.el7sat
  • katello satellite capsule 6.8, satellite 6.8 3.16.0-1.el7sat

red hat advisories RHSA-2020:4366RHSA-2020:4390RHSA-2020:1324

  • python-Django Enterprise Storage 5 1.6.11-6.10.1
  • python-Django OpenStack Cloud 7 1.8.19-3.18.1
  • python-Django1 OpenStack Cloud Crowbar 9, OpenStack Cloud 9 1.11.23-3.9.1
  • python-Django OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 1.11.23-3.12.1

suse advisories SUSE-SU-2019:3127-1SUSE-SU-2019:2379-1SUSE-SU-2019:2335-1SUSE-SU-2019:2257-1

  • python-Django5 openSUSE Tumbleweed 5.2.16-1.1
  • python-Django openSUSE Tumbleweed 5.2.16-1.1
  • python-Django4 openSUSE Tumbleweed 4.2.30-4.1
  • python-Django6 openSUSE Tumbleweed 6.0-1.1
  • python-Django4 openSUSE Tumbleweed 4.2.14-1.1
  • python-Django openSUSE Tumbleweed 3.2.7-2.3
  • python-Django openSUSE Tumbleweed 4.2.11-2.1
  • python-Django Package Hub 15 SP1 2.2.4-bp151.3.3.1

opensuse advisories openSUSE-SU-2026:11270-1openSUSE-SU-2026:11248-1openSUSE-SU-2026:11235-1openSUSE-SU-2026:10005-1openSUSE-SU-2024:14208-1openSUSE-SU-2024:11205-1

  • py-django Alpine 3.10, Alpine 3.9, Alpine 3.8 +1 more 1.11.22-r0
  • py3-django Alpine 3.24, Alpine 3.23, Alpine 3.22 +11 more 1.11.22-r0

alpine advisories ALPINE-CVE-2019-12781

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • python-django Arch Linux 2.2.3-1

arch linux advisories AVG-1000

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2019-12781 updated cvss 4.8

Django: Incorrect HTTP detection with reverse-proxy connecting via HTTPS

  • Red Hat Certification for Red Hat Enterprise Linux 7 python-django
    affected: no fix available
  • Red Hat OpenStack Platform 9 (Mitaka) python-django, python-django-bash-completion Red Hat OpenStack Platform 9 (Mitaka) Operational Tools python-django, python-django-bash-completion Red Hat OpenStack Platform 10 (Newton) python-django, python-django-bash-completion
    affected: no fix planned “Will not fix”
  • Red Hat OpenStack Platform 14 (Rocky) python2-django, python-django-bash-completion Red Hat Storage 3 python-django, python2-django, python-django-bash-completion
    affected: no fix available
  • Red Hat OpenStack Platform 13.0 python-django 1.11.27-1.el7ost, python2-django 1.11.27-1.el7ost, python-django-bash-completion 1.11.27-1.el7ost Red Hat OpenStack Platform 13.0 for RHEL 7.6 EUS Server python-django 1.11.27-1.el7ost, python2-django 1.11.27-1.el7ost, python-django-bash-completion 1.11.27-1.el7ost
    fixed: vendor fix RHSA-2020:4390
  • Red Hat OpenStack Platform 15.0 python-django 2.1.11-1.el8ost, python3-django 2.1.11-1.el8ost, python-django-bash-completion 2.1.11-1.el8ost
    fixed: vendor fix RHSA-2020:1324
  • Red Hat Satellite 6.8 tfm 6.1-1.el7sat, kobo 0.5.1-1.el7sat, pulp 2.21.3-1.el7sat, gofer 2.12.5-7.el7sat, receptor 0.6.3-1.el7ar, future 0.16.0-11.el7sat, +488 more Red Hat Satellite Capsule 6.8 tfm 6.1-1.el7sat, kobo 0.5.1-1.el7sat, pulp 2.21.3-1.el7sat, gofer 2.12.5-7.el7sat, future 0.16.0-11.el7sat, katello 3.16.0-1.el7sat, +232 more
    fixed: vendor fix RHSA-2020:4366
  • Red Hat Ceph Storage 2 python-django, python-django-bash-completion Red Hat Ceph Storage 3 python-django, python-django-bash-completion Red Hat Update Infrastructure 3 for Cloud Providers python-django
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

1.71% chance of exploitation in the next 30 days, higher than 77% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
NVD 3.0 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
NVD 2.0 5.0 AV:N/AC:L/Au:N/C:P/I:N/A:N
GitHub 3.0 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Affected packages

ecosystem package affected fixed in
pypi django
>=2.1, <2.1.10
>=2.2, <2.2.3
>=1.11, <1.11.22
2.1.10
2.2.3
1.11.22

Classification

Weakness
  • CWE-319 Cleartext Transmission of Sensitive Information
Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.