CVE-2026-15920
Potential cross-site scripting via URLField values in the admin
Что произошло
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. `django.contrib.admin.utils.display_for_field()` renders `URLField` values as clickable links in the admin without validating the URL. A value stored with an unsafe scheme is displayed as a link on changelist and read-only admin pages, which allows cross-site scripting against staff users who click the link. Exploitation requires the unsafe value to already be stored in the database. `URLField` validation through a `ModelForm` or the admin rejects unsafe schemes, so this affects applications that persist `URLField` data without running model validation, for example through direct queryset writes, deserialization, or bulk import of untrusted input. Django would like to thank Egor Saltykov for reporting this issue.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
djangoproject / Django
{
"status": "affected",
"version": "6.0",
"lessThan": "6.0.8",
"versionType": "python"
}{
"status": "unaffected",
"version": "6.0.8",
"versionType": "python"
}{
"status": "affected",
"version": "5.2",
"lessThan": "5.2.17",
"versionType": "python"
}{
"status": "unaffected",
"version": "5.2.17",
"versionType": "python"
}CVSS: оценки и векторы
CVSS 3.1 · cve6.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
CVSS 4.0 · cve5.1
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve"
],
"epss": {
"source": "epss",
"received_at": "2026-11-03T21:12:17.521069+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T18:30:32.229629+00:00"
},
"scores": [
"cve"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T18:30:32.229629+00:00"
},
"affected": [
"cve"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T18:30:32.229629+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-03T21:12:17.521069+00:00"
},
"references": [
"cve"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T18:30:32.229629+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены04.11.2026, 00:12
- Данные обновлены03.11.2026, 00:11
- Данные обновлены02.11.2026, 00:10
- Данные обновлены31.10.2026, 11:57
- Данные обновлены30.10.2026, 18:08
- Данные обновлены29.10.2026, 11:33
- Появились сведения об исправлении28.10.2026, 21:30
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-114582 Server-side request forgery via SpatialReference string input djangoproject / Django | Средний | 6.9 | — | Патч | 03.11.2026 | |
| CVE-2026-113733 Password hash disclosure to "view only" admin users with custom user models djangoproject / Django | Низкий | 2.1 | — | Патч | 03.11.2026 | |
| CVE-2026-113593 Potential exposure of private data via empty and missing Vary headers djangoproject / Django | Низкий | 2.3 | — | Патч | 03.11.2026 | |
| CVE-2026-111362 Server-side request forgery via crs member of GeoJSON geometries djangoproject / Django | Средний | 6.9 | — | Патч | 03.11.2026 | |
| CVE-2026-108147 Potential memory exhaustion in MultiPartParser via base64-encoded file upload djangoproject / Django | Средний | 6.9 | — | Патч | 03.11.2026 |