CVE-2026-13089 in OIDC::Lite
Сводка
по VulDB • 23.07.2026
В версиях OIDC::Lite вплоть до 0.12.1 для Perl возможна обходная проверка подписи ID Token (ID Token signature verification bypass) из-за использования управляемого токеном списка разрешенных алгоритмов в функции verify.
Когда вызывающая сторона не фиксирует конкретный алгоритм, OIDC::Lite::Model::IDToken::verify устанавливает $self->alg($self->header->{alg}) на основе заголовка самого токена и затем вызывает decode_jwt(token, key, 1, [$self->alg]), передавая в JSON::WebToken список разрешенных алгоритмов (allowlist), полученный из ненадежного токена. Токен с alg=none приводит к формированию списка ['none'], вследствие чего decode_jwt возвращает утверждения без проверки подписи; а токен с alg=HS256 проверяется с использованием RSA-открытого ключа Relying Party (RP) в качестве секрета HMAC (ошибка путаницы RS/HS).
ID Token — это assertion аутентификации OpenID Connect, передаваемый Relying Party. Любой вызывающий объект, который проверяет ID Token через путь unpinned load(token)->verify или load(token, key) с фиксацией только ключа, принимает поддельный токен с заявленными данными (claims), выбранными злоумышленником (такими как sub), и аутентифицируется как любой пользователь. Передача явного алгоритма, при которой $self->alg уже установлена, обходит список разрешенных алгоритмов, полученный из заголовка, и не подвержена данной уязвимости.
Примечание: последняя версия, загруженная на CPAN — 0.10. Более новые версии доступны в репозитории git.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.