Реклама
Перетяжка, 07.09, Анкета для друзей

Proxmox VE 7 атакуют через обход пароля в API, патча для ветки нет

Уязвимы libpve-access-control от 7.0-7 до 8.0.4; поддерживаемые версии в безопасности.

Обложка: Proxmox VE 7 атакуют через обход пароля в API, патча для ветки нет

Компания Proxmox 1 сентября опубликовала advisory PSA-2026-00043-1: в устаревших Proxmox VE 7 и в самом первом Proxmox VE 8.0 API входа принимал произвольный параметр tfa-challenge и в некоторых случаях пропускал проверку пароля. По словам компании, за последние два дня к ней пришло много независимых сообщений, в которых говорится и об эксплуатации уязвимости в реальных атаках.

Если у вас где-то остался Proxmox VE 7 с доступным снаружи портом 8006, это тот случай, когда сначала закрывают доступ, а потом читают дальше. Атакующему достаточно сетевого доступа к API, чтобы войти под любым включённым пользователем без настроенной двухфакторной аутентификации, а к таким по умолчанию относится root@pam.

Ключевые выводы
  • Уязвим пакет libpve-access-control версий от 7.0-7 до 8.0.4 не включительно: это Proxmox VE 7.0–7.4 и начальный VE 8.0.
  • Исправление вошло в libpve-access-control 8.0.4 ещё 20 июля 2023 года; ни один поддерживаемый релиз Proxmox VE сейчас не уязвим.
  • Уязвимость требует доступа к API на порту 8006 напрямую или через reverse proxy и затрагивает только пользователей без 2FA.
  • Proxmox VE 7 снят с поддержки в июле 2024 года, патча для ветки не будет; есть только временная правка одного файла.
  • Единственное надёжное решение по advisory: обновиться до поддерживаемой версии Proxmox VE.

Кто затронут и что сделать в первую очередь

Проверка занимает одну команду на каждом узле:

			dpkg-query -W -f '${Version}\n' libpve-access-control
		

Если версия от 7.0-7 включительно и ниже 8.0.4, узел уязвим. Дальше по цепочке: доступен ли порт 8006 из недоверенных сетей, есть ли пользователи без двухфакторной аутентификации, и что показывают журналы входов за последние дни. Proxmox указывает, что пользователи с любой настроенной 2FA не затронуты, поэтому включение второго фактора для всех учётных записей закрывает дыру даже без обновления пакета.

Advisory описывает уязвимый endpoint как POST /api2/json/access/ticket. Это тот самый вызов, через который веб-интерфейс и клиенты получают билет сессии. Проблемный параметр tfa-challenge задуман для второго шага двухфакторного входа, но старый код принимал его от кого угодно и при определённых условиях переходил к выдаче билета, не проверив пароль.

Почему исправление есть с 2023 года, а advisory вышел только сейчас

Уязвимый путь в коде был закрыт 20 июля 2023 года в libpve-access-control 8.0.4, и произошло это, по описанию Proxmox, как побочный эффект переработки механизма 2FA, а не как осознанное исправление уязвимости. Тогда проблему не квалифицировали как дыру в безопасности, поэтому исправление не переносили в ветку Proxmox VE 7. Ветка 7 завершила жизненный цикл в июле 2024 года, и обновлений для неё уже не выпускают.

Так уязвимость прожила больше двух лет в установках, которые никто не обновлял. Proxmox пишет, что узнала о проблеме сейчас, «через много независимых сообщений за последние два дня, которые также сообщают об эксплуатации в реальных атаках» (перевод редакции). Что именно делали атакующие после входа, в advisory не описано; независимого подтверждения масштаба атак на момент публикации нет.

Временная защита, если обновиться сегодня нельзя

Для тех, кто не может сразу мигрировать, Proxmox предлагает ручную правку: добавить вызов verify_ticket(...) в файл AccessControl.pm в указанном в advisory месте. После правки компания рекомендует проверить результат через grep: вхождений должно быть ровно три. Точный фрагмент кода и место вставки приведены в самом advisory; копировать его по памяти не стоит.

Ручная правка защищает только от этого конкретного обхода. Proxmox называет переход на поддерживаемый релиз «единственным долговременным исправлением»: в снятой с поддержки ветке остаются и другие незакрытые проблемы.

Что проверить в журналах

  • Успешные входы под root@pam и другими пользователями без 2FA с незнакомых адресов в журнале pveproxy и в системном журнале аутентификации.
  • Новые пользователи, токены API и изменения в правах доступа, которых никто не создавал.
  • Неожиданные виртуальные машины, контейнеры, задачи резервного копирования и изменения в хранилищах.
  • Исходящие соединения с узла к неизвестным адресам: после входа с правами root@pam атакующий получает полный контроль над гипервизором.

По нашей оценке, именно узлы «поставили и забыли» с открытым 8006 на публичном адресе и составляют группу риска.

Идентификатор CVE в advisory на момент публикации не указан. Редакция проверит, появится ли он, и есть ли у Proxmox дополнительные данные о характере атак.

Источник: Proxmox Security Advisory PSA-2026-00043-1 на форуме Proxmox

Изображение на обложке: Proxmox Server Solutions