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

CVE-2026-48524

PyJWT: PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS)

Публикация: 28.05.2026·Обновлена: 26.10.2026, 16:10·Europe/Moscow

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

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

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, PyJWKClient.get_signing_key() forces a fresh HTTP request to the JWKS endpoint for every JWT with an unknown kid value, with no rate limiting. Since kid comes from the unverified token header, an attacker can trigger unlimited outbound requests. The vulnerability surfaces only when a JWKS fetch fails; an attacker can attempt to provoke that with sustained unknown-kid traffic, but the outcome depends on upstream JWKS-endpoint behavior (rate limiting, transient errors) which is beyond the attacker's control. This vulnerability is fixed in 2.13.0.

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

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

Что делать

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

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.13.0"
}

pyjwt_project / pyjwt

{
  "status": "affected",
  "version": "*",
  "versionEndExcluding": "2.13.0"
}
cpe:2.3:a:pyjwt_project:pyjwt:*:*:*:*:*:*:*:*

pyjwt PyPI

{
  "status": "affected",
  "version": "*",
  "versionEndExcluding": "2.13.0"
}

pyjwt PyPI

{
  "status": "affected",
  "version": "*",
  "versionEndExcluding": "2.13.0",
  "versionStartIncluding": "2.0.0"
}

CVSS: оценки и векторы

CVSS 3.1 · cve3.7
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
AV · Вектор атакисеть
AC · Сложность атакивысокая
PR · Привилегиине нужны
UI · Участие пользователяне нужно
S · Область воздействияне меняется
C · Конфиденциальностьнет
I · Целостностьнет
A · Доступностьнизкое
CVSS 3.1 · security-advisories@github.com3.7
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
AV · Вектор атакисеть
AC · Сложность атакивысокая
PR · Привилегиине нужны
UI · Участие пользователяне нужно
S · Область воздействияне меняется
C · Конфиденциальностьнет
I · Целостностьнет
A · Доступностьнизкое

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

Происхождение полей
{
  "cwes": [
    "cve",
    "nvd"
  ],
  "epss": {
    "source": "epss",
    "received_at": "2026-11-02T21:12:56.008527+00:00"
  },
  "title": {
    "source": "cve",
    "received_at": "2026-10-28T20:39:02.522369+00:00"
  },
  "scores": [
    "cve",
    "nvd"
  ],
  "status": {
    "source": "cve",
    "received_at": "2026-10-28T20:39:02.522369+00:00"
  },
  "affected": [
    "cve",
    "nvd",
    "osv"
  ],
  "published": {
    "source": "cve",
    "received_at": "2026-10-28T20:39:02.522369+00:00"
  },
  "solutions": [],
  "percentile": {
    "source": "epss",
    "received_at": "2026-11-02T21:12:56.008527+00:00"
  },
  "references": [
    "cve",
    "nvd",
    "osv"
  ],
  "description": {
    "source": "cve",
    "received_at": "2026-10-28T20:39:02.522369+00:00"
  },
  "workarounds": [],
  "configurations": [
    "nvd"
  ]
}

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

  1. Данные обновлены03.11.2026, 00:12
  2. Данные обновлены02.11.2026, 15:10
  3. Данные обновлены02.11.2026, 13:40
  4. Данные обновлены02.11.2026, 00:11
  5. Данные обновлены31.10.2026, 11:58
  6. Данные обновлены28.10.2026, 23:39
  7. Данные обновлены28.10.2026, 18:06
  8. Опубликована28.10.2026, 15:15

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

Другие 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-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)
jpadilla / pyjwt · pyjwt
Высокий5.3
0,43 %
PoC
28.09.2026
CVE-2026-48524: PyJWT: PyJWKClient unbounded JWKS endpoint requests via attacker-controlled kid values (DoS) · CVE Радар