CVE-2026-101917
PyJWT: PyJWKClient still amplifies unauthenticated JWKS fetches on unknown kid values (incomplete fix of CVE-2026-48524)
Что произошло
PyJWT is a Python implementation of JSON Web Token standards. Prior to 2.14.0, PyJWT get_signing_key_from_jwt is affected because unknown kid misses force refreshes without a negative cache or minimum refresh interval. This occurs when unauthenticated tokens repeatedly use the same unknown kid or varying kid values absent from the cached JWKS. As a result, each cache miss causes PyJWKClient to refresh the JWKS. Consequently, attacker traffic can amplify outbound requests to the configured JWKS endpoint. This issue is fixed in version 2.14.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. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
jpadilla / pyjwt
{
"status": "affected",
"version": "< 2.14.0"
}pyjwt PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "2.14.0"
}CVSS: оценки и векторы
CVSS 3.1 · cve5.3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve"
],
"epss": {
"source": "epss",
"received_at": "2026-11-02T21:10:50.638717+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T19:33:52.083619+00:00"
},
"scores": [
"cve"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T19:33:52.083619+00:00"
},
"affected": [
"cve",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T19:33:52.083619+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-02T21:10:50.638717+00:00"
},
"references": [
"cve",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T19:33:52.083619+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены03.11.2026, 00:10
- Данные обновлены02.11.2026, 15:12
- Данные обновлены02.11.2026, 13:38
- Данные обновлены02.11.2026, 00:09
- Данные обновлены31.10.2026, 11:56
- Данные обновлены30.10.2026, 15:59
- Данные обновлены29.10.2026, 11:09
- Появилась ссылка на PoC28.10.2026, 22:33
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-48526 PyJWT: Public-key JWK accepted as HMAC secret enables forged HS256 tokens when mixed families are allowed jpadilla / pyjwt · Red Hat / Red Hat Ansible Automation Platform 2.5 for RHEL 8 | Критический | 7.4 | 0,43 % | PoC | 28.05.2026 | |
| CVE-2026-48524 PyJWT: PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS) jpadilla / pyjwt · pyjwt_project / pyjwt | Низкий | 3.7 | 0,4 % | 28.05.2026 | ||
| CVE-2026-48522 PyJWKClient: missing scheme allowlist enables SSRF + token forgery via file://, ftp://, data: schemes jpadilla / pyjwt · pyjwt_project / pyjwt | Высокий | 4.2 | 0,22 % | PoC | 28.05.2026 | |
| CVE-2026-102275 PyJWT accepts inconsistent OKP x/d JWKs, causing public/private key identity confusion jpadilla / pyjwt · pyjwt | Высокий | 6.5 | 0,17 % | PoCПатч | 28.09.2026 | |
| CVE-2026-103001 PyJWT.decode() reintroduces options-dict mutation, enabling silent claim-verification bypass on dict reuse jpadilla / pyjwt · pyjwt | Высокий | 6.5 | 0,26 % | PoC | 01.10.2026 |