CVE-2023-48223
fast-jwt: подмена алгоритма JWT
- Опубликовано
- 20 нояб. 2023 г.
- Обновлено
- 2 авг. 2024 г.
- Назначение CNA
- GitHub_M
- Наблюдены доказательства
- 8 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:NНизкий · следующие 30 дней
- Процентиль
- 50,6 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
fast-jwt предоставляет быструю реализацию JSON Web Token (JWT). До версии 3.3.2 библиотека fast-jwt не полностью предотвращает путаницу алгоритмов JWT для всех типов открытых ключей. Функция 'publicKeyPemMatcher' в 'fast-jwt/src/crypto.js' не полностью сопоставляет все распространённые форматы PEM для открытых ключей. Для эксплуатации этой уязвимости злоумышленнику необходимо создать вредоносный JWT-токен, содержащий алгоритм HS256, подписанный открытым RSA-ключом приложения-жертвы. Эта атака сработает только в том случае, если приложение-жертва использует открытый ключ, содержащий заголовок `BEGIN RSA PUBLIC KEY`. Приложения, использующие алгоритм RS256, открытый ключ с заголовком `BEGIN RSA PUBLIC KEY` и вызывающие функцию verify без явного указания алгоритма, уязвимы к этой атаке с путаницей алгоритмов, которая позволяет злоумышленникам подписывать произвольные полезные нагрузки, принимаемые проверяющей стороной. Версия 3.3.2 содержит исправление этой проблемы. В качестве обходного пути измените строку 29 в `blob/master/src/crypto.js`, добавив регулярное выражение.
Источники
1Proof-of-concept, демонстрирующий путаницу алгоритмов JWT в библиотеке fast-jwt. Включает уязвимый сервер, скрипт подделки токена и исправление проверки для обучения безопасности.
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.