Уязвимость коллизии OAuth Client ID в JupyterHub до 6.0.1 (CVE-2026-108752)
В JupyterHub версий до 6.0.1 включительно обнаружена уязвимость коллизии идентификаторов OAuth-клиентов. Аутентифицированный пользователь может зарегистрировать имя с дефисом и перезаписать OAuth-клиент чужого именованного сервера, нарушив вход и отозвав токены. Критичность оценена как низкая (CVSS 2.3).
Подробности
Уязвимость возникает из-за того, что JupyterHub не экранирует дефис при формировании идентификатора OAuth-клиента для именованных серверов пользователей. В результате имена видаalice-prod и конструкция «пользователь alice + сервер prod» могут порождать совпадающие идентификаторы клиентов.
Эксплуатация требует, чтобы злоумышленник был аутентифицирован в системе. Зарегистрировав учётную запись с дефисным именем, например alice-prod, атакующий способен перезаписать OAuth-клиент, принадлежащий именованному серверу prod другого пользователя alice. Это приводит к нарушению работы OAuth-входа для целевого сервера. Кроме того, остановив собственный сервер, злоумышленник может спровоцировать отзыв токенов, связанных с перезаписанным клиентом.
Затронутый продукт — jupyterhub (пакет jupyterhub). Уязвимость классифицируется как коллизия идентификаторов. Базовая оценка CVSS составляет 2.3 (LOW), что отражает необходимость наличия аутентификации и ограниченное воздействие — нарушение доступности отдельных серверов и OAuth-аутентификации, без компрометации конфиденциальности данных или выполнения произвольного кода.
Что делать
Основная рекомендация — обновить JupyterHub до версии, в которой уязвимость устранена. Поскольку запись указывает на наличие проблемы во всех версиях вплоть до 6.0.1, следует отслеживать выпуск патча и установить актуальную версию из официального репозитория проекта. Если немедленное обновление невозможно, целесообразно применить компенсирующие меры:- ограничить возможность регистрации пользовательских имён, содержащих дефис, если это допускает конфигурация аутентификации;
- контролировать создание именованных серверов и имена учётных записей, избегая пересечений вида «пользователь-сервер»;
- усилить мониторинг событий OAuth-аутентификации и отзыва токенов, чтобы своевременно выявлять аномалии;
- ограничить круг пользователей, имеющих право создавать именованные серверы, до доверенных лиц.
Итог
CVE-2026-108752 — уязвимость низкой критичности, но она позволяет аутентифицированному пользователю нарушать работу OAuth-входа других пользователей JupyterHub через манипуляцию дефисными именами. Наиболее надёжная защита — обновление до исправленной версии; до его выхода помогут ограничения на имена учётных записей и серверов, а также усиленный мониторинг.Источник: CVE Project (cvelistV5)
