PyJWT вернула баг: decode() мутирует словарь options и обходит проверку claims
В PyJWT 2.11.0–2.13.0 обнаружена регрессия CVE-2026-103001: при verify_signature=False функция decode() записывает семь ключей verify_* прямо в переданный вызывающим словарь. Повторное использование того же объекта с verify_signature=True пропускает проверку срока, аудитории и издателя токена. Баг исправляли в 2022 году, но рефакторинг PR 1045 в марте 2025 года убрал копирование.
- Уязвимы PyJWT 2.11.0–2.13.0, патча на момент публикации нет
- decode() пишет 7 ключей verify_* в словарь вызывающего без копии
- Баг впервые нашли в 2021-м, починили в 2022-м, вернули в марте 2025-го
- Обход затрагивает только проверку claims, подпись проверяется
Читать дальше
Безопасность