CVE.futuretools
NVD NIST
CVE-2026-103001

PyJWT.decode() reintroduces options-dict mutation, enabling silent claim-verification bypass on dict reuse

CVSS 3.1Medium
6.5/ 10.0
Опубликовано
Обновлено
В атаках
Не зафиксировано
Публичный PoC
Отсутствует
Анализ подготовлен:CVE Futuretools Threat Intelligence
Верификация: MITRE CVE List · CISA KEV · NIST NVD
ОФИЦИАЛЬНЫЙ ПАТЧ НЕ ОПУБЛИКОВАН
Обновите PyJWT до версий старше 2.13.0 либо передавайте независимый новый экземпляр словаря options в каждый вызов decode() и decode_complete().

01 // ТЕХНИЧЕСКАЯ СУТЬ УЯЗВИМОСТИ

Мутация переданного словаря options в PyJWT отключает проверку зарегистрированных claims при его повторном использовании.

02 // АНАТОМИЯ АТАКИ И ДЕФЕКТ ЛОГИКИ

В версиях 2.11.0–2.13.0 метод PyJWT._merge_options() перезаписывает переданный вызывающей стороной словарь options, выставляя проверки в False при verify_signature=False. При повторной передаче этого же объекта с verify_signature=True сохраненные флаги подавляют валидацию полей токена.

03 // СИСТЕМНЫЕ ПОСЛЕДСТВИЯ

Обход верификации expiration, not-before, issued-at, audience, issuer, subject и JWT ID при валидной подписи, если приложение повторно использует общий словарь настроек.

04 // МАТРИЦА ЗАТРОНУТЫХ ПАКЕТОВ

jpadillapyjwt
>= 2.11.0➔Патч не выпущен
——
>= 2.11.0➔Патч не выпущен

05 // ПЕРВОИСТОЧНИКИ И БЮЛЛЕТЕНИ (3)

06 // ЦИТИРОВАНИЕ ДАННЫХ И ИСТОЧНИК

Для включения аналитической карточки в отчёты по безопасности, матрицы рисков или исследовательские публикации используйте стандартизированный формат цитирования:

Библиографическая ссылка (Plain text)
CVE Futuretools (2026). Анализ уязвимости CVE-2026-103001: PyJWT.decode() reintroduces options-dict mutation, enabling silent claim-verification bypass on dict reuse. URL: https://cve.futuretools.ru/cve/CVE-2026-103001
BibTeX формат (LaTeX)
@misc{cve_futuretools_cve_2026_103001,
  title = {{CVE-2026-103001: PyJWT.decode() reintroduces options-dict mutation, enabling silent claim-verification bypass on dict reuse}},
  author = {{CVE Futuretools}},
  year = {2026},
  howpublished = {\url{https://cve.futuretools.ru/cve/CVE-2026-103001}},
  note = {Оперативный инженерный анализ киберугроз}
}