Мониторинг Карточка CVE
Открытые данные
К списку уязвимостей
Высокий
PoC
Опубликована

CVE-2026-101917

PyJWT: PyJWKClient still amplifies unauthenticated JWKS fetches on unknown kid values (incomplete fix of CVE-2026-48524)

Публикация: 28.09.2026·Обновлена: 01.10.2026, 20:56·Europe/Moscow

Что произошло

Автоперевод выключен · оригинальное описание

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.

Что это значит

В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.

Что делать

Редакционные пояснения, сведения источников и общие рекомендации помечены отдельно
Устранить в течение 7 дней

1. Проверьте, затронуты ли вы

Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.

Debian / Ubuntu
dpkg-query -W -f='${Package}	${Version}\n'
RHEL / AlmaLinux
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'
Windows PowerShell
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
AV · Вектор атакисеть
AC · Сложность атакинизкая
PR · Привилегиине нужны
UI · Участие пользователяне нужно
S · Область воздействияне меняется
C · Конфиденциальностьнет
I · Целостностьнет
A · Доступностьнизкое

Источники и ссылки

Происхождение полей
{
  "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": []
}

Хронология записи

  1. Данные обновлены03.11.2026, 00:10
  2. Данные обновлены02.11.2026, 15:12
  3. Данные обновлены02.11.2026, 13:38
  4. Данные обновлены02.11.2026, 00:09
  5. Данные обновлены31.10.2026, 11:56
  6. Данные обновлены30.10.2026, 15:59
  7. Данные обновлены29.10.2026, 11:09
  8. Появилась ссылка на PoC28.10.2026, 22:33

Личная заметка и статус

Другие CVE того же продукта

УЯЗВИМОСТЬ / ПРОДУКТПРИОРИТЕТCVSSEPSSСИГНАЛЫОПУБЛИКОВАНАКарточка
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
CVE-2026-101917: PyJWT: PyJWKClient still amplifies unauthenticated JWKS fetches on unknown kid values (incomplete fix of CVE-2026-48524) · CVE Радар