Как три уязвимости отдали злоумышленникам контроль над JFrog Artifactory?

С 28 августа началась эксплуатация цепочки из двух уязвимостей JFrog Artifactory. Fastly рекомендует отозвать все токены, выпущенные с этой даты. С 1 по 8 сентября отдельно эксплуатировалась CVE-2026-82329. 1 сентября The Hacker News сообщил о создании атакующими администраторских токенов, а 2 сентября CISA внесло уязвимость в каталог Known Exploited Vulnerabilities. В тот день на упомянутой платформе зафиксировали около 406 000 попыток эксплуатации — это число запросов, а не подтверждённых взломов. Федеральные ведомства США должны были устранить проблему до 5 сентября.
Как три уязвимости отдали злоумышленникам контроль над JFrog Artifactory?
Изображение носит иллюстративный характер

Цепочка начиналась с CVE-2026-42018: неаутентифицированный запрос к конечной точке выдачи токенов возвращал токен внутреннего анонимного пользователя Artifactory, даже если анонимный доступ был отключён. Сам по себе этот дефект не давал прав администратора. Затем срабатывала CVE-2026-42016: Artifactory проверял подпись и издателя предъявленного токена, но не его допустимую область полномочий, поэтому низкопривилегированный токен удавалось обменять на администраторский. Без исходного токена эта вторая уязвимость тоже не позволяла постороннему начать атаку.
Полная операция занимала несколько запросов. Получив анонимный токен через CVE-2026-42018, злоумышленник отправлял его в конечную точку создания токенов и благодаря CVE-2026-42016 получал административные полномочия. Имя пользователя при повышении прав сохранялось, поэтому действия администратора попадали в журналы под записью token:anonymous. В отдельных случаях новый администратор появлялся менее чем за пять минут. Сервер должен был содержать обе ошибки; исправление любой из них разрывало цепочку. Поскольку CVE-2026-42016 затрагивает версии до 7.133.11, ветки 7.146 и 7.161 в опубликованный диапазон этой атаки не входят.
CVE-2026-82329 представляла отдельную угрозу с оценкой CVSS 9.8. Этот обход аутентификации работал в стандартной конфигурации Artifactory и не требовал второй уязвимости: неаутентифицированному атакующему хватало сетевого доступа, чтобы самостоятельно получить права администратора. Ошибка затрагивала шесть веток вплоть до 7.161, поэтому опасность сохранялась и для новых выпусков, неуязвимых к двухступенчатой цепочке. Wiz наблюдала чтение системной конфигурации и в нескольких случаях кражу cluster join key — общего секрета, с помощью которого узлы Artifactory регистрируются друг у друга.
Действия после взлома различались: Wiz уточнила, что ни один участник не выполнял весь набор операций. На скомпрометированных серверах создавали постоянные учётные записи администраторов, устанавливали вредоносные Groovy-плагины через штатный механизм Artifactory и получали выполнение кода на сервере. Через конечную точку запуска плагинов выполнялись команды оболочки; атакующие просматривали систему, составляли списки файлов, загружали бинарные файлы по HTTP и сохраняли полезную нагрузку в доступных для записи каталогах вроде /tmp. Затем открывались каналы управления. В нескольких инцидентах обнаружили специальный бэкдор на Rust с функциями командно-контрольной связи.
Для CVE-2026-42018 исправлениями считаются 7.111.20, 7.117.27, 7.125.19, 7.133.28 и 7.146.8; уязвимы более ранние сборки соответствующих веток. CVE-2026-42016 исправлена в 7.133.11 и затрагивает версии до неё. Для CVE-2026-82329 безопасными названы 7.111.21, 7.117.28, 7.125.20, 7.133.29, 7.146.38 и 7.161.20; предыдущие сборки каждой ветки уязвимы. JFrog указывает для CVE-2026-42016 только 7.133.11 и не поясняет, перенесено ли исправление в более поздние сборки старых веток, например 7.117.28. The Hacker News запросил у JFrog разъяснение, а у Wiz — номера версий на взломанных серверах.
Самостоятельно размещённый JFrog Artifactory следует обновить до исправленной сборки своей ветки, сверившись с бюллетенями безопасности JFrog. Пользователям JFrog Cloud ничего делать не требуется. Если CVE-2026-82329 пока нельзя закрыть обновлением, JFrog предлагает сгенерировать случайное значение, добавить его в system.yaml как дополнительный join key и разрешить регистрацию сервисов только с авторизованными ключами. Для связки CVE-2026-42018 и CVE-2026-42016 временной меры не опубликовано.
Установка патча не удаляет созданных злоумышленником администраторов, не отзывает уже выпущенные токены, не убирает вредоносные плагины и бэкдоры, не отменяет изменения конфигурации и репозиториев, не заменяет украденный cluster join key. Fastly советует считать доступные извне системы с CVE-2026-82329 скомпрометированными: «Патч не отзывает уже выпущенные токены». После обновления нужно сменить platform join key, отозвать токены доступа, выпущенные с 28 августа, проверить администраторские учётные записи, репозитории и изменения конфигурации.
При расследовании стоит искать административные действия от token:anonymous, создание токенов, перечисление пользователей, чтение или запись плагинов внутренним анонимным пользователем и низкопривилегированными аккаунтами. Подозрительны неизвестные администраторы и маскирующиеся под системные службы имена jfrog-distribution, jfrog-insight и repo-service. Дополнительные признаки: неожиданные Groovy-плагины, обращения к механизму их выполнения, команды оболочки, HTTP-загрузки, новые файлы в /tmp, исходящий командно-контрольный трафик и несанкционированный доступ к конфигурации либо cluster join key. В отчёте Wiz также опубликованы адреса атакующих и хеш полезной нагрузки.
JFrog разработала атакованный репозиторий программных артефактов JFrog Artifactory; Wiz расследовала инциденты, The Hacker News освещал эксплуатацию и раскрытие деталей, CISA включило CVE-2026-82329 в каталог эксплуатируемых уязвимостей, а Fastly выпустила рекомендации по реагированию. Исследователи OpenAI указаны среди обнаруживших CVE-2026-42016. JFrog также подтвердила, что во время внутренней оценки модели OpenAI эксплуатировали ранее неизвестную уязвимость Artifactory.


Новое на сайте

Ссылка