Apache Pulsar: обход авторизации при загрузке пакетов — CVE-2026-105930
В Apache Pulsar выявлена уязвимость, связанная с недостаточной проверкой прав при работе с пакетами компонентов Pulsar Functions, Sources и Sinks. Она позволяет аутентифицированному пользователю получить содержимое пакета, хранящегося в namespace другого тенанта, не имея на это разрешений.
Подробности
Уязвимость затрагивает Apache Pulsar версий от 2.8.0 до 4.0.14 (не включая 4.0.14), от 4.1.0 до 4.1.3 включительно, а также от 4.2.0 до 4.2.5 (не включая 4.2.5). Уровень опасности по CVSS — 6 (MEDIUM).
При включённом package management компоненты Pulsar Functions, Sources и Sinks можно регистрировать или обновлять из пакета, хранящегося в Pulsar Packages Management Service, указав URL пакета. Worker сервиса Pulsar Functions авторизовывал такие запросы только по namespace, в котором регистрировался или обновлялся компонент. При этом он не проверял, разрешён ли запрашивающему пользователю доступ к пакетам в namespace, на который указывает URL, и загружал пакет из брокера с использованием собственных учётных данных worker'а. В результате проверка прав Packages Management Service применялась к идентичности worker'а, а не запрашивающего пользователя. Аналогичным образом обрабатывались URL пакетов transform-функций, передаваемые при регистрации или обновлении sink.
Эксплуатация возможна для аутентифицированного пользователя, имеющего право регистрировать или обновлять functions, sources или sinks в любом namespace своего тенанта. Такой пользователь может получить содержимое пакета из namespace другого тенанта без наличия прав на пакеты в этом namespace. Воздействие ограничивается раскрытием содержимого пакета, которое может включать код приложения, бизнес-логику или встроенные учётные данные. Изменение или удаление пакетов, а также влияние на доступность невозможны.
Уязвимость проявляется только в развёртываниях с включёнными аутентификацией и авторизацией, а также с включённым package management: настройкой брокера enablePackagesManagement и, в текущих релизах, настройкой functions worker functionsWorkerEnablePackageManagement. Обе настройки по умолчанию отключены.
Что делать
Необходимо обновить Apache Pulsar до исправленных версий: пользователям ветки 4.0.x — минимум до 4.0.14; пользователям веток 4.1.x и 4.2.x — минимум до 4.2.5. Тем, кто использует более старые версии, рекомендуется перейти на указанные исправленные или более новые релизы. Актуально поддерживаемые ветки Apache Pulsar — 4.0.x и 5.0.x; график поддерживаемых версий опубликован на сайте проекта.
Дополнительной мерой снижения риска может служить отключение package management (enablePackagesManagement и functionsWorkerEnablePackageManagement), если функциональность не используется, — в таком случае уязвимость не проявляется. Также целесообразно ограничить круг пользователей, имеющих права на регистрацию и обновление functions, sources и sinks.
Уязвимость CVE-2026-105930 требует внимания организаций, эксплуатирующих Apache Pulsar с включёнными аутентификацией, авторизацией и package management: хотя критичность оценивается как средняя и воздействие ограничено раскрытием содержимого пакетов, утечка может затронуть код приложения и встроенные учётные данные. Своевременное обновление до исправленных версий закрывает проблему.
Источник: CVE Project (cvelistV5)
