Django before 1.11.27, 2.x before 2.2.9, and 3.x before 3.0.1 allows account takeover.
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.)
- BDU:2020-01459
- GHSA-vfq6-hq5r-27r6
- DLA-2042-1
- DSA-4598-1
- openSUSE-SU-2024:11205-1
- openSUSE-SU-2024:13887-1
- openSUSE-SU-2024:14065-1
- openSUSE-SU-2024:14208-1
- openSUSE-SU-2026:10005-1
- openSUSE-SU-2026:11235-1
- openSUSE-SU-2026:11248-1
- openSUSE-SU-2026:11270-1
- openSUSE-SU-2026:11570-1
- PYSEC-2019-16
- SUSE-RU-2020:2072-1
- SUSE-RU-2020:2161-1
- Опубликовано
- 18 дек. 2019 г.
- Обновлено
- 16 июн. 2026 г.
- EPSS
- 53,6 % · 99-й процентиль
- CWE
- CWE-640
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
55
В плане
Включите в обычный цикл установки исправлений.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 16 / 30 · 53,6 %
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| djangoproject | django | cpe:2.3:a:djangoproject:django |
| canonical | ubuntu linux | cpe:2.3:o:canonical:ubuntu_linux |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- canonical ubuntu linux16.04
- canonical ubuntu linux18.04
- canonical ubuntu linux19.04
- canonical ubuntu linux19.10
- djangoproject django2.2 и новее · до 2.2.9
- djangoproject djangoдо 1.11.27
- djangoproject django3.0
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Alpine:v3.10 | py-django | до 1.11.27-r0 | 1.11.27-r0 |
| Alpine:v3.11 | py3-django | до 1.11.27-r0 | 1.11.27-r0 |
| Debian:10 | python-django | до 1:1.11.27-1~deb10u1 | 1:1.11.27-1~deb10u1 |
| Debian:12 | python-django | до 2:2.2.9-1 | 2:2.2.9-1 |
| Debian:8 | python-django | до 1.7.11-1+deb8u8 | 1.7.11-1+deb8u8 |
| Debian:9 | python-django | до 1:1.10.7-2+deb9u7 | 1:1.10.7-2+deb9u7 |
| openSUSE:Tumbleweed | python-Django | до 3.2.7-2.3 | 3.2.7-2.3 |
| openSUSE:Tumbleweed | python-Django | до 4.2.11-2.1 | 4.2.11-2.1 |
| openSUSE:Tumbleweed | python-Django | до 5.2.16-1.1 | 5.2.16-1.1 |
| openSUSE:Tumbleweed | python-django-allauth | до 65.19.1-1.1 | 65.19.1-1.1 |
| openSUSE:Tumbleweed | python-django-allauth | до 0.63.3-1.1 | 0.63.3-1.1 |
| openSUSE:Tumbleweed | python-Django4 | до 4.2.14-1.1 | 4.2.14-1.1 |
| openSUSE:Tumbleweed | python-Django4 | до 4.2.30-4.1 | 4.2.30-4.1 |
| openSUSE:Tumbleweed | python-Django5 | до 5.2.16-1.1 | 5.2.16-1.1 |
| openSUSE:Tumbleweed | python-Django6 | до 6.0-1.1 | 6.0-1.1 |
| PyPI | django | с 2.0 · до 2.2.9 | 2.2.9 |
| PyPI | django | с 2.2 · до 2.2.9 | 2.2.9 |
| PyPI | django | с 3.0 · до 3.0.1 | 3.0.1 |
| PyPI | django | до 1.11.27 | 1.11.27 |
| SUSE:OpenStack Cloud 7 | ansible | до 2.2.3.0-12.2 | 2.2.3.0-12.2 |
| SUSE:OpenStack Cloud 7 | crowbar-core | до 4.0+git.1580209654.1d112d31f-9.66.5 | 4.0+git.1580209654.1d112d31f-9.66.5 |
| SUSE:OpenStack Cloud 7 | crowbar-ha | до 4.0+git.1585316203.d6ad2c8-4.52.4 | 4.0+git.1585316203.d6ad2c8-4.52.4 |
| SUSE:OpenStack Cloud 7 | crowbar-openstack | до 4.0+git.1589804581.9972163f0-9.71.4 | 4.0+git.1589804581.9972163f0-9.71.4 |
| SUSE:OpenStack Cloud 7 | grafana | до 4.6.5-1.14.1 | 4.6.5-1.14.1 |
+90
Тот же продукт
djangoproject: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2022-34265An issue was discovered in Django 3.2 before 3.2.14 and 4.0 before 4.0.6.61На этой неделе
- CVE-2020-7471Django 1.11 before 1.11.28, 2.2 before 2.2.10, and 3.0 before 3.0.3 allows SQL Injection if untrusted data is used as a StringAgg delimiter 59В плане
- CVE-2019-14234An issue was discovered in Django 1.11.x before 1.11.23, 2.1.x before 2.1.11, and 2.2.x before 2.2.4.53В плане
- CVE-2021-35042Django 3.1.x before 3.1.13 and 3.2.x before 3.2.5 allows QuerySet.order_by SQL injection if order_by is untrusted input from a client of a w52В плане
- CVE-2023-24580An issue was discovered in the Multipart Request Parser in Django 3.2 before 3.2.18, 4.0 before 4.0.10, and 4.1 before 4.1.7.49В плане
- CVE-2023-46695An issue was discovered in Django 3.2 before 3.2.23, 4.1 before 4.1.13, and 4.2 before 4.2.7.45В плане
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| alpine:py-django | 1.11.27-r0 · Alpine:v3.10 | Реестр пакетов (OSV) |
| alpine:py3-django | 1.11.27-r0 · Alpine:v3.11 | Реестр пакетов (OSV) |
| debian:python-django | 2:2.2.9-1 · Debian:12 | Реестр пакетов (OSV) |
| opensuse:python-Django | 3.2.7-2.3 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:python-django-allauth | 0.63.3-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:python-Django4 | 4.2.14-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:python-Django5 | 5.2.16-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:python-Django6 | 6.0-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| PyPI:django | 1.11.27 | Реестр пакетов (OSV) |
| PyPI:django | 2.2.9 | Реестр пакетов (OSV) |
| PyPI:django | 3.0.1 | Реестр пакетов (OSV) |
| suse:ansible | 2.2.3.0-12.2 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:crowbar-core | 4.0+git.1580209654.1d112d31f-9.66.5 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:crowbar-ha | 4.0+git.1585316203.d6ad2c8-4.52.4 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:crowbar-openstack | 4.0+git.1589804581.9972163f0-9.71.4 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:grafana | 4.6.5-1.14.1 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:keepalived | 2.0.19-1.8.1 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:kibana | 4.6.3-5.1 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:memcached | 1.5.17-3.6.1 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:monasca-installer | 20180608_12.47-12.1 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:openstack-dashboard-theme-SUSE | 2016.2-5.12.4 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:openstack-manila | 3.0.1~dev30-4.12.2 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:openstack-manila-doc | 3.0.1~dev30-4.12.3 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
Статус эксплойта
Есть proof of concept
Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.
Доказательство
- Запись Exploit-DB ×1
- Репозиторий PoC на GitHub ×3
Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.
| Источник | Тип | Дата |
|---|---|---|
| Запись Exploit-DB | webapps | 2019-12-24 |
| Репозиторий PoC на GitHub | stars:100 | 2019-12-21 |
| Репозиторий PoC на GitHub | stars:8 | 2019-12-25 |
| Репозиторий PoC на GitHub | stars:4 | 2020-01-18 |
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
- Публикация
- Первый PoC+2 дн.
- Сегодня30 сент. 2026 г.+2478 дн.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-640 · Weak Password Recovery Mechanism for Forgotten PasswordВектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-primary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- packetstormsecurity.com/files/155872/Django-Account-Hijack.html
- docs.djangoproject.com/en/dev/releases/security/
- groups.google.com/forum/#%21topic/django-announce/3oaB2rVH3a0
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HCM2DPUI7TOZWN4A6JFQFUVQ2XGE7GUD/
- seclists.org/bugtraq/2020/Jan/9
- security.gentoo.org/glsa/202004-17
- security.netapp.com/advisory/ntap-20200110-0003/
- usn.ubuntu.com/4224-1/
- www.debian.org/security/2020/dsa-4598
- www.djangoproject.com/weblog/2019/dec/18/security-releases/
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.