CVE-2026-114138
Django REST framework: Accept header with many large quoted parameters burns ~19s of CPU per request in content negotiation
Что произошло
Django REST framework is a toolkit for building Web APIs. Prior to 3.18.2, DefaultContentNegotiation.get_accept_list in rest_framework/negotiation.py accepts an unbounded number and aggregate size of Accept tokens, while select_renderer in that file repeatedly invokes _MediaType parsing from rest_framework/utils/mediatypes.py for each attacker-controlled token, every renderer, and forced 406 renegotiation. A remote unauthenticated client can send many distinct media types containing large quoted parameter values with numerous semicolons, causing Django's parameter parser and DRF's repeated parsing structure to consume disproportionate CPU. Requests to any reachable endpoint can pin synchronous workers for prolonged periods, and concurrent requests can make the service unavailable until the requests stop. This issue is fixed in version 3.18.2.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
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. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
encode / django-rest-framework
{
"status": "affected",
"version": "< 3.18.2"
}djangorestframework PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "3.18.2"
}CVSS: оценки и векторы
CVSS 3.1 · cve7.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 3.1 · security-advisories@github.com7.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-11-03T21:11:56.250414+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-29T00:58:03.318152+00:00"
},
"scores": [
"cve",
"nvd"
],
"status": {
"source": "cve",
"received_at": "2026-10-29T00:58:03.318152+00:00"
},
"affected": [
"cve",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-29T00:58:03.318152+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-03T21:11:56.250414+00:00"
},
"references": [
"cve",
"nvd",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-29T00:58:03.318152+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены04.11.2026, 00:11
- Данные обновлены03.11.2026, 00:11
- Данные обновлены02.11.2026, 13:38
- Данные обновлены02.11.2026, 00:09
- Данные обновлены31.10.2026, 11:57
- Данные обновлены30.10.2026, 16:50
- Данные обновлены29.10.2026, 11:15
- Появилась ссылка на PoC29.10.2026, 03:58
- Данные обновлены28.10.2026, 22:30
- Опубликована28.10.2026, 21:39
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-114136 Django REST framework: JSONParser applies an attacker-named codec to the request stream encode / django-rest-framework · djangorestframework | Критический | 7.5 | 0,5 % | PoC | 21.10.2026 | |
| CVE-2026-114137 Django REST framework: TokenProxy.delete() reports success and revokes nothing encode / django-rest-framework · djangorestframework | Высокий | 7.4 | 0,51 % | 21.10.2026 | ||
| CVE-2026-73228 Django REST framework: Potential bypass of Django `DATA_UPLOAD_MAX_MEMORY_SIZE` when parsing oversized JSON and urlencoded request bodies via DRF `request.data` encode / django-rest-framework · djangorestframework | Высокий | 5.3 | 0,56 % | PoC | 11.08.2026 | |
| CVE-2026-73229 Django REST framework: AdminRenderer may disclose GET-protected data when rendering invalid write requests encode / django-rest-framework · djangorestframework | Высокий | 4.3 | 0,37 % | PoC | 11.08.2026 | |
| CVE-2018-25045 Django REST framework XSS Vulnerability django-rest-framework | Информационный | — | 0,78 % | 06.07.2026 |