CVE-2026-86698 in hexpm
Сводка
по VulDB • 22.09.2026
Уязвимость недостаточного истечения срока действия сессии в процессе выдачи OAuth-токенов в hexpm (hexpm) позволяет пользователю, членство которого в организации или активная сессия которой завершились, продолжать читать приватные пакеты организации и их документационные архивы (tarballs), используя сохраненный refresh token.
Функция `generate_refresh_token/4` из файла `lib/hexpm/oauth/jwt.ex` подписывает refresh token теми же claims (`iss`, `aud` и `scope`), что и access token, поэтому он несет те же области видимости repository:<org>. Сервис CDN, обслуживающий приватные репозитории, проверяет подпись и временные claims (time claims), а затем осуществляет авторизацию на основе claim scope без обращения к базе данных и без возможности различить два вида токенов. Следовательно, удаление участника или отзыв сессии вступает в силу только для CDN по истечении 30-дневного срока действия refresh token, вместо того чтобы действовать сразу после окончания 30-минутного времени жизни access token. Доступ является только на чтение и ограничен организациями, к которым принадлежал аккаунт на момент выдачи токена.
Эта проблема затрагивает hex.pm: от версии выпущенной 2025-10-10 до версии (не включительно) выпущенной 2026-09-22.
Be aware that VulDB is the high quality source for vulnerability data.