Django before 1.11.27, 2.x before 2.2.9, and 3.x before 3.0.1 allows account takeover. A suitably crafted email address (that is equal to an existing user's email address after case transformation of Unicode characters) would allow an attacker to be sent a password reset token for the matched user account. (One mitigation in the new releases is to send password reset tokens only to the registered user email address.)
CVE-2019-19844
This critical-severity CVE scores 9.8 under NVD CVSS v3. EPSS exploit probability: 34.8%, top 2% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High exploitation likelihood — EPSS 54%
- Public exploit code is available (Exploit-DB (verified), epss top5pct, epss high, public exploit)
A fix is available — apply it.
- CVSS v3
- 9.8
- EG Score
- 9.8(medium)
- EG Risk
- 75(Track*)EG Risk 75/100SSVC: Track*
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity98% × 45%Exploitation65% × 40%Automatability30% × 15%Action: Watch closely — could escalate to Attend. - EPSS PROB
- 54%
- EPSS %ILE
- 99%
- KEV
- Not listed
Published
December 18, 2019
Last Modified
November 21, 2024
Advisory Details (9)
Auto-updated Sep 6, 2026Django security releases issued: 3.0.1, 2.2.9, and 1.11.27 | Weblog | Django
https://www.djangoproject.com/weblog/2019/dec/18/security-releases/[SECURITY] [DSA 4598-1] python-django security update
https://www.debian.org/security/2020/dsa-4598Django: Multiple vulnerabilities (GLSA 202004-17) — Gentoo security
https://security.gentoo.org/glsa/202004-17Bugtraq: [SECURITY] [DSA 4598-1] python-django security update
https://seclists.org/bugtraq/2020/Jan/9[SECURITY] Fedora 31 Update: python-django-2.2.9-1.fc31 - package-announce - Fedora mailing-lists
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HCM2DPUI7TOZWN4A6JFQFUVQ2XGE7GUD/Redirecting to Google Groups
https://groups.google.com/forum/#%21topic/django-announce/3oaB2rVH3a0Archive of security issues | Django documentation | Django
https://docs.djangoproject.com/en/dev/releases/security/Patch Availability(2)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| ubuntu | python3-django (1:1.11.20-1ubuntu0.3) @ disco | 2026-05-27 | ubuntu |
| ubuntu | python-django-doc (1.6.11-0ubuntu1.3+esm7) @ trusty | 2026-05-27 | ubuntu |
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
Affected Packages
(13 across 13 ecosystems)
Alpine:v3.10(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| py-django | 1.10.5-r0 ... 1.8.8-r0 (40 versions) | 1.11.27-r0 | — |
Alpine:v3.11(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| py3-django | 1.10.5-r0 ... 1.8.8-r0 (42 versions) | 1.11.27-r0 | — |
Alpine:v3.12(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| py3-django | 1.10.5-r0 ... 1.8.8-r0 (42 versions) | 1.11.27-r0 | — |
Alpine:v3.8(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| py-django | 1.10.5-r0 ... 1.8.8-r0 (39 versions) | 1.11.27-r0 | — |
Alpine:v3.9(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| py-django | 1.10.5-r0 ... 1.8.8-r0 (39 versions) | 1.11.27-r0 | — |
Debian:10(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| python-django | 1:1.11.21-1, 1:1.11.22-1, 1:1.11.22-1~deb10u1, 1:1.11.23-1~deb10u1 | 1:1.11.27-1~deb10u1 | — |
Debian:11(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| python-django | — | 2:2.2.9-1 | — |
Debian:12(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| python-django | — | 2:2.2.9-1 | — |
Debian:13(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| python-django | — | 2:2.2.9-1 | — |
Debian:14(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| python-django | — | 2:2.2.9-1 | — |
Debian:8(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| python-django | 1.7.10-1 ... 1.7.9-1 (16 versions) | 1.7.11-1+deb8u8 | — |
Debian:9(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| python-django | 1:1.10.7-2 ... 1:1.10.7-2+deb9u6 (7 versions) | 1:1.10.7-2+deb9u7 | — |
PyPI(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| django | 1.0.1 ... 2.2.8 (177 versions) | 2.2.9 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
All Vendor Advisories
(2)
Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.
Data Freshness Timeline
(refreshed 6× in last 7d / 21× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
Showing the most recent 100 of 119 total refreshes for this CVE.
- 2026-09-07 22:51 UTCOSV refresh
- 2026-09-07 15:57 UTCEPSS rescore
- 2026-09-06 13:44 UTCEPSS rescore
- 2026-09-05 15:24 UTCEPSS rescore
- 2026-09-04 13:56 UTCEPSS rescore
- 2026-09-02 14:07 UTCEPSS rescore
- 2026-08-30 19:13 UTCEPSS rescore
- 2026-08-30 01:18 UTCEPSS rescore
- 2026-08-28 21:36 UTCEPSS rescore
- 2026-08-26 14:42 UTCEPSS rescore
- 2026-08-25 13:45 UTCEPSS rescore
- 2026-08-24 14:11 UTCEPSS rescore
- 2026-08-21 23:45 UTCEPSS rescore
- 2026-08-21 08:14 UTCOSV refresh
- 2026-08-20 22:51 UTCEPSS rescore
- 2026-08-19 17:00 UTCEPSS rescore
- 2026-08-18 13:44 UTCEPSS rescore
- 2026-08-16 14:52 UTCEPSS rescore
- 2026-08-16 02:10 UTCEPSS rescore
- 2026-08-15 01:26 UTCEPSS rescore
- 2026-08-12 13:47 UTCEPSS rescore
- 2026-08-07 16:23 UTCEPSS rescore
- 2026-08-06 13:43 UTCEPSS rescore
- 2026-08-05 21:51 UTCOSV refresh
- 2026-08-05 19:13 UTCEPSS rescore
Show 75 moreShow fewer
- 2026-08-04 15:05 UTCEPSS rescore
- 2026-08-02 02:23 UTCEPSS rescore
- 2026-08-01 04:12 UTCEPSS rescore
- 2026-07-30 16:24 UTCEPSS rescore
- 2026-07-30 01:27 UTCEPSS rescore
- 2026-07-28 15:32 UTCEPSS rescore
- 2026-07-26 14:51 UTCEPSS rescore
- 2026-07-25 14:14 UTCEPSS rescore
- 2026-07-24 14:14 UTCEPSS rescore
- 2026-07-24 14:14 UTCEPSS rescore
- 2026-07-23 14:15 UTCEPSS rescore
- 2026-07-23 01:43 UTCEG score recompute
- 2026-07-22 22:23 UTCEG score recompute
- 2026-07-22 14:05 UTCEPSS rescore
- 2026-07-21 15:22 UTCEPSS rescore
- 2026-07-21 15:22 UTCEPSS rescore
- 2026-07-20 17:04 UTCEPSS rescore
- 2026-07-20 17:04 UTCEPSS rescore
- 2026-07-19 23:38 UTCOSV refresh
- 2026-07-19 14:28 UTCEPSS rescore
- 2026-07-19 14:28 UTCEPSS rescore
- 2026-07-18 10:01 UTCEPSS rescore
- 2026-07-16 16:59 UTCEPSS rescore
- 2026-07-16 16:59 UTCEPSS rescore
- 2026-07-15 16:55 UTCEPSS rescore
- 2026-07-15 16:55 UTCEPSS rescore
- 2026-07-13 06:10 UTCEPSS rescore
- 2026-07-13 06:10 UTCEPSS rescore
- 2026-07-12 05:43 UTCEPSS rescore
- 2026-07-12 05:43 UTCEPSS rescore
- 2026-07-11 08:24 UTCEPSS rescore
- 2026-07-11 08:24 UTCEPSS rescore
- 2026-07-09 19:06 UTCEPSS rescore
- 2026-07-08 15:11 UTCEPSS rescore
- 2026-07-07 13:43 UTCEPSS rescore
- 2026-07-05 02:27 UTCEPSS rescore
- 2026-07-02 14:01 UTCOSV refresh
- 2026-07-01 15:03 UTCEPSS rescore
- 2026-07-01 15:03 UTCEPSS rescore
- 2026-06-30 23:20 UTCEPSS rescore
- 2026-06-29 14:03 UTCEPSS rescore
- 2026-06-28 04:54 UTCEPSS rescore
- 2026-06-28 04:54 UTCEPSS rescore
- 2026-06-27 03:06 UTCEPSS rescore
- 2026-06-25 13:47 UTCEPSS rescore
- 2026-06-25 13:47 UTCEPSS rescore
- 2026-06-24 14:03 UTCEPSS rescore
- 2026-06-24 14:03 UTCEPSS rescore
- 2026-06-23 21:31 UTCEPSS rescore
- 2026-06-23 21:30 UTCEPSS rescore
- 2026-06-22 14:23 UTCEPSS rescore
- 2026-06-21 01:57 UTCEPSS rescore
- 2026-06-21 01:57 UTCEPSS rescore
- 2026-06-19 19:23 UTCEPSS rescore
- 2026-06-19 19:23 UTCEPSS rescore
- 2026-06-18 17:50 UTCEPSS rescore
- 2026-06-17 17:50 UTCEPSS rescore
- 2026-06-16 17:50 UTCEPSS rescore
- 2026-06-15 17:45 UTCEPSS rescore
- 2026-06-14 23:15 UTCEPSS rescore
- 2026-06-14 23:15 UTCEPSS rescore
- 2026-06-14 12:13 UTCOSV refresh
- 2026-06-13 22:58 UTCEPSS rescore
- 2026-06-12 23:09 UTCEPSS rescore
- 2026-06-11 13:58 UTCEPSS rescore
- 2026-06-10 22:16 UTCEPSS rescore
- 2026-06-10 13:19 UTCEPSS rescore
- 2026-06-08 14:15 UTCEPSS rescore
- 2026-06-07 15:23 UTCEPSS rescore
- 2026-06-07 15:23 UTCEPSS rescore
- 2026-06-06 13:45 UTCEPSS rescore
- 2026-06-06 13:45 UTCEPSS rescore
- 2026-06-05 22:45 UTCEPSS rescore
- 2026-06-05 22:45 UTCEPSS rescore
- 2026-06-04 13:10 UTCEPSS rescore
Publicly available exploits
(4 references)Working exploit code is in the public domain (3 GitHub PoCs) (1 Exploit-DB entry). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- GitHub PoC0xsha/CVE_2019_19844First seen Jan 18, 2020
CVE-2019-19844 Docker Edition
Open source ↗ - GitHub PoCandripwn/django_cve201919844First seen Dec 25, 2019
PoC for CVE-2019-19844 ( https://www.djangoproject.com/weblog/2019/dec/18/security-releases/ )
Open source ↗ - Exploit-DBEDB-47879✓ verifiedFirst seen Dec 24, 2019
Django < 3.0 < 2.2 < 1.11 - Account Hijack
Open source ↗ - GitHub PoCryu22e/django_cve_2019_19844_pocFirst seen Dec 21, 2019
PoC for CVE-2019-19844(https://www.djangoproject.com/weblog/2019/dec/18/security-releases/)
Open source ↗
Frequently asked(5)
What is CVE-2019-19844?
When was CVE-2019-19844 disclosed?
Is CVE-2019-19844 actively exploited?
What is the CVSS score of CVE-2019-19844?
How do I remediate CVE-2019-19844?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2019-19844
Is Your Infrastructure Affected by CVE-2019-19844?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.