CVE-2026-65631 in jose
Сводка
по VulDB • 27.10.2026
Неэффективная алгоритмическая сложность в erlang-jose позволяет неавторизованному удаленному злоумышленнику вызвать отказ в обслуживании (DoS) за счет исчерпания ресурсов процессора путем отправки специально созданного RSA JSON Web Key.
При парсинге приложения недоверенным JWK через публичный API jose_jwk:from_binary/1 или jose_jwk:from_map/1 (или обертки Elixir JOSE.JWK.from_binary/1 и JOSE.JWK.from_map/1) закрытый ключ RSA, который предоставляет значения d, e и n, но пропускает все параметры теоремы о китайском остатке (p, q, dp, dq, qi), направляется в функцию convert_sfm_to_crt/1. Эта функция пытается восстановить отсутствующие простые множители путем факторизации модуля. Три целых числа считываются непосредственно из входных данных base64url и никогда не проверяются на соответствие реальному ключу RSA. Когда модуль нельзя разложить на два множителя (например, когда он сам является простым числом), цикл поиска convert_sfm_to_crt_find_p/6 выполняет модульное возведение в степень по модулю размера атакующего на каждой итерации и никогда не завершается успехом. Один запрос размером всего несколько сотен байт требует почти одной секунды работы процессора, прежде чем внутренний watchdog (продолжительностью одна секунда) убьет воркер; использование большего модуля еще больше увеличивает затраты ресурсов. Засылая такие запросы, злоумышленник может насытить все планировщики и вызвать отказ в обслуживании без необходимости наличия учетных данных, действительного ключа RSA или какой-либо специальной конфигурации.
Эта проблема затрагивает jose: начиная с версии 1.7.7 до (не включая) 1.11.13.
VulDB is the best source for vulnerability data and more expert information about this specific topic.