Лента угроз

CVE-2026-102895 — GPUStack позволяет неаутентифицированному атакующему действовать как администратор: разбор и исправление (CVSS 9.8, исправлено в 2.2.0, эксплуатируется)

CVE-2026-102895: атакующий без входа может действовать как администратор в GPUStack до 2.2.0 (CVSS 9.8). Эксплуатируется, в CISA KEV.

Опубликовано 2026-11-10 Обновлено 2026-11-10 Последняя проверка 2026-11-10 8 мин чтения
На этой странице

Разбор уязвимости в GPUStack (менеджер с открытым исходным кодом, который запускает ИИ-модели на GPU-кластерах и разворачивает GPU-инстансы), позволяющей неаутентифицированным лицам действовать как администратор. Что происходит, кого это касается и как реагировать — со стороны защиты и без шагов атаки.

Краткое содержание бюллетеня
CVE
CVE-2026-102895 (бюллетень GitHub GHSA-gj9m-f8ph-pmhr)
Тяжесть
CVSS v3.1 9.8 (Critical). То же значение в бюллетене, записи CVE и NVD
Тип
Некорректная аутентификация (CWE-287). Бюллетень также называет обход аутентификации подменой (CWE-290) и ошибку проверки источника (CWE-346)
Условия
Без аутентификации; достаточно сетевого доступа к GPUStack. Согласно бюллетеню, затронуты настройки по умолчанию
Затронуто
pip gpustack до 2.2.0
Исправление
gpustack 2.2.0
Даты
Бюллетень: 31 июля 2026 года / запись CVE: 4 ноября 2026 года
Эксплуатация
В бюллетене сообщается об эксплуатации. Добавлена в CISA KEV 9 ноября 2026 года (срок — 12 ноября)
9.8
CVSS v3.1
Без аутентификации
Что нужно атакующему
2.2.0
Исправленная версия
12 нояб.
Срок по KEV

Чем опасно ожидание

Согласно бюллетеню, неаутентифицированное лицо может менять пользователей, модели и настройки воркеров и создавать ключи API администратора, которые работают с любого исходного адреса. Можно прочитать учётные данные воркеров и облачных провайдеров, а в сочетании с функциями, доступными только администратору, это ведёт к выполнению кода на хостах воркеров. Бюллетень сообщает, что эксплуатация наблюдалась. CISA отмечает, что для этой записи в KEV требуется судебно-технический разбор.

В чём заключается уязвимость

При настройках по умолчанию (force_auth_localhost равен false) GPUStack считает запрос с той же машины (loopback) запросом встроенного администратора. Это сделано, чтобы избавить от аутентификации при локальной работе. Проблема в том, что то, по чему определяется «та же ли это машина», можно подделать снаружи.

Согласно бюллетеню, есть два пути стать администратором без аутентификации. Первый — обратный прокси на том же хосте: как только прокси пересылает запрос в GPUStack, даже внешние запросы выглядят для GPUStack пришедшими с loopback. Это распространённая схема при самостоятельном размещении, и она не требует ни заголовка, ни учётных данных. Второй — заголовок пересылки запроса: бюллетень говорит, что значение, присланное клиентом, может сделать запрос похожим на loopback. Этот сайт не описывает, как это эксплуатировать.

До (раньше 2.2.0)

  • Источник loopback становится администратором без аутентификации
  • За обратным прокси на том же хосте внешний трафик выглядит как loopback
  • Заголовок пересылки может подделать источник

Изменения после (2.2.0)

  • Путь, при котором loopback считается администратором, убран
  • Усилена обработка IP клиента и заголовков пересылки
  • Заголовок с реальным IP клиента принимается только от аутентифицированного доверенного шлюза

Объём

ПунктПодробности
ПродуктGPUStack (менеджер GPU-кластеров с открытым исходным кодом)
Затронутый пакетpip gpustack
Затронутые версииДо 2.2.0 (бюллетень и запись CVE)
Исправленная версия2.2.0
Реальный ущербБюллетень: наблюдалась эксплуатация против v2.1.1
Что может произойтиВсе действия администратора (изменение пользователей, моделей, воркеров), создание ключей API администратора, чтение учётных данных воркеров и облачных провайдеров, выполнение кода на воркерах (по бюллетеню и KEV)
  • Согласно бюллетеню, затронуты настройки по умолчанию.
  • Бюллетень называет только пакет pip gpustack. Если вы установили его иначе, например как образ контейнера, уточните версию в информации вашего поставщика.

Как проверить, затронуты ли вы

1

Проверьте версию GPUStack

Проверьте версию установленного gpustack. Всё, что раньше 2.2.0, затронуто. Если у вас есть рабочая, тестовая и разработческая среды, проверьте каждую (Чек-лист инвентаризации активов).

2

Проверьте, доступен ли он снаружи

Проверьте, можно ли добраться до порта GPUStack или стоящего перед ним обратного прокси из недоверенных диапазонов, например из интернета. Согласно бюллетеню, уязвимость работает и через обратный прокси на том же хосте, поэтому нахождение за прокси не признак безопасности.

3

Проверьте настройку force_auth_localhost

Проверьте, равен ли force_auth_localhost true. Согласно бюллетеню, значение по умолчанию — false, и тогда уязвимый путь открыт.

Что сделать сегодня

1

Обновитесь до 2.2.0 (главный приоритет)

Обновите gpustack до 2.2.0 или новее. Срок по KEV — 12 ноября 2026 года.

2

До этого сузьте вход

Обходные меры из бюллетеня приведены ниже. Ни одна не заменяет обновление.

  • Установите force_auth_localhost в true, чтобы запросы loopback тоже требовали аутентификации.
  • Убедитесь, что обратный прокси или шлюз не может сделать внешний трафик похожим на loopback, и удаляйте на границе любой заголовок X-GPUStack-Real-IP, присланный клиентом.
  • Не выставляйте API в недоверенные сети, держите его за VPN или аутентификацией на границе.
3

После обновления проведите аудит ключей API администратора

Согласно бюллетеню, созданный ключ API администратора потом работает с любого исходного адреса. Обновление его не удаляет, поэтому составьте список существующих ключей API и удалите те, чьего создателя или время создания вы не знаете. Особенно посмотрите на ключи, созданные до обновления.

4

Отзовите и выпустите заново учётные данные

Бюллетень сообщает, что учётные данные воркеров и секреты облачных провайдеров могут быть прочитаны. Отзовите и выпустите заново то, что вы зарегистрировали в GPUStack: параметры подключения воркеров, ключи облачных провайдеров, токены загрузки моделей и подобное. От себя этот сайт советует: выпустите их заново, даже если следов злоупотребления нет. См. Плейбук устранения уязвимостей и Основы безопасности: .env и API-ключи.

5

Проверьте настройки и воркеры

Поищите незнакомые пользовательские бэкенды, пользователей и настройки моделей. На воркерах поищите незнакомые процессы и исходящие соединения. Поскольку эксплуатация подтверждена, считайте любую незнакомую конфигурацию возможным признаком компрометации. Если найдёте что-то подозрительное, изолируйте этот воркер и подумайте о его пересборке.

Состояние эксплуатации

  • Бюллетень сообщает, что эксплуатация наблюдалась против развёртывания v2.1.1. Обнаружение приписывается стороннему исследователю.
  • CISA добавила её в KEV (каталог уязвимостей с подтверждённой эксплуатацией; версия 2026.11.09) 9 ноября 2026 года со сроком 12 ноября. Использование в кампаниях с программами-вымогателями указано как неизвестное, судебно-технический разбор — как необходимый.
  • Статус записи NVD — Analyzed. CVSS v3.1 — 9.8, как в бюллетене и записи CVE.
  • Бюллетень называет нескольких исследователей, которые сообщили об уязвимости независимо друг от друга.

Мнение этого сайта: не оставляйте без аутентификации то, что внутри сети или за прокси

Это скорее ошибочное допущение в архитектуре, чем оплошность в коде. Допущение «запрос с моей машины — это я» рушится в тот момент, когда перед сервисом ставят обратный прокси. Обратный прокси на том же хосте — к тому же распространённый способ добавить HTTPS и опубликовать сервис, так что схема, которая кажется защищённой, становится входом.

В консоли администратора ИИ-платформы в одном месте сосредоточены среда выполнения моделей, ресурсы GPU и облачные учётные данные. Если она принимает неаутентифицированные запросы, ущерб не ограничивается одной машиной, а через облачные учётные данные расходится вовне. Защищайте консоли и API администратора аутентификацией, а не расположением или исходным адресом. Такой же класс проблем возникает, когда система доверяет заголовкам пересылки (подмена XFF и доверенные прокси). После обновления работа не закончена, пока вы не очистили созданные ключи API и учётные данные, которые могли быть прочитаны.

Источники

Последняя проверка: 10 ноября 2026 года.

Читайте далее

FAQ

QЧто такое CVE-2026-102895?
A

Уязвимость в GPUStack — менеджере, который запускает ИИ-модели на GPU-кластерах. Согласно бюллетеню, при настройках по умолчанию запрос, источник которого выглядит как та же машина (loopback), трактуется как запрос встроенного администратора. За обратным прокси на том же хосте так выглядят и внешние запросы, поэтому неаутентифицированный посторонний может выполнять действия администратора. Оценка CVSS v3.1 — 9.8.

QКакие версии затронуты и какая версия исправлена?
A

Пакет pip gpustack до 2.2.0. Исправленная версия — 2.2.0; согласно бюллетеню, она убирает путь, при котором источники loopback считаются администратором, и усиливает обработку IP клиента и заголовков пересылки. Бюллетень называет затронутым только пакет pip gpustack. Если вы установили его иначе, например как образ контейнера, уточните версию в информации вашего поставщика.

QЭксплуатируется ли она?
A

Да. Бюллетень сообщает, что эксплуатация наблюдалась против развёртывания v2.1.1. CISA добавила её в KEV 9 ноября 2026 года со сроком 12 ноября. KEV указывает использование в кампаниях с программами-вымогателями как неизвестное.

QЕсть ли обходной путь, если пока нельзя обновиться?
A

Бюллетень приводит три. Установите force_auth_localhost в true, чтобы запросы loopback тоже требовали аутентификации. Убедитесь, что обратный прокси или шлюз не может сделать внешний трафик похожим на loopback, и удаляйте на границе любой заголовок X-GPUStack-Real-IP, присланный клиентом. Не выставляйте API в недоверенные сети, держите его за VPN или аутентификацией на границе. Ничто из этого не заменяет обновление.

QДостаточно ли обновления?
A

Нет. Среди перечисленных последствий — создание ключей API администратора и чтение учётных данных воркеров и облачных провайдеров. Согласно бюллетеню, созданный ключ API потом работает с любого исходного адреса. Обновление их не удаляет, поэтому проведите аудит ключей API, отзовите учётные данные и выпустите их заново.

QБезопасно ли, если я за прокси?
A

Нет. Именно схема с прокси служит условием срабатывания. Согласно бюллетеню, за обратным прокси на том же хосте внешние запросы выглядят пришедшими с loopback. Не оставляйте консоль администратора или API администратора без аутентификации на том основании, что они во внутренней сети или за прокси.