CVE-2026-97687
urllib3: HTTPS proxy TLS configuration may be ignored or overridden
Что произошло
urllib3 is an HTTP client library for Python. From 1.26.0 until 2.8.0, the proxy_ssl_context, proxy_assert_hostname, proxy_assert_fingerprint, ssl_context, cert_reqs, verify_mode, use_forwarding_for_https=True, and CERT_NONE configuration paths fail to remain separated because target-server TLS settings are incorrectly applied to the HTTPS proxy connection. The trigger is that an application uses an HTTPS proxy and configures target-server TLS settings that must remain separate from the proxy TLS handshake, including HTTPS forwarding with target-specific identity or credentials. Applying cert_reqs=CERT_NONE can overwrite proxy_ssl_context.verify_mode in place, and the mutation persists so later connections reusing the same context may connect to the HTTPS proxy without certificate verification. The attack mechanism is that an attacker intercepts and impersonates the HTTPS proxy after the effective proxy policy accepts the attacker's certificate. The impact is that the attacker can observe or modify forwarded traffic or receive a target TLS client certificate, while CONNECT tunneling still preserves the separate end-to-end target TLS connection. This issue is fixed in version 2.8.0.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
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. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
urllib3 / urllib3
{
"status": "affected",
"version": ">= 1.26.0, < 2.8.0"
}urllib3 PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "2.8.0",
"versionStartIncluding": "1.26.0"
}CVSS: оценки и векторы
CVSS 4.0 · cve7.6
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve"
],
"epss": {
"source": "epss",
"received_at": "2026-11-02T21:15:43.922863+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T21:30:02.133331+00:00"
},
"scores": [
"cve"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T21:30:02.133331+00:00"
},
"affected": [
"cve",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T21:30:02.133331+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-02T21:15:43.922863+00:00"
},
"references": [
"cve",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T21:30:02.133331+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены03.11.2026, 00:15
- Данные обновлены02.11.2026, 15:12
- Данные обновлены02.11.2026, 13:39
- Данные обновлены02.11.2026, 00:13
- Данные обновлены31.10.2026, 12:00
- Данные обновлены29.10.2026, 12:46
- Опубликована29.10.2026, 00:30
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2021-33503 Catastrophic backtracking in URL authority parser when passed URL containing many @ characters urllib3 | Информационный | — | 3,27 % | Патч | 29.06.2021 | |
| CVE-2026-97689 urllib3: HTTPResponse.stream()/read_chunked() buffers an unbounded chunk-size line into memory urllib3 / urllib3 · urllib3 | Высокий | 8.9 | 0,34 % | 29.09.2026 | ||
| CVE-2026-97688 urllib3: Chunked Deflate streaming can enter an infinite loop urllib3 / urllib3 · urllib3 | Средний | 6.9 | 0,29 % | 29.09.2026 | ||
| CVE-2025-66471 urllib3 Streaming API improperly handles highly compressed data urllib3 / urllib3 · urllib3 | Высокий | 8.9 | 0,68 % | Патч | 05.12.2025 | |
| CVE-2026-21441 urllib3 vulnerable to decompression-bomb safeguard bypass when following HTTP redirects (streaming API) urllib3 / urllib3 · Red Hat / Red Hat Enterprise Linux 10 | Высокий | 8.9 | 2,92 % | Патч | 08.01.2026 |