В системе мониторинга и управления онлайн-сервисами OneUptime обнаружена критическая уязвимость, позволяющая аутентифицированным пользователям выполнять произвольные команды на операционной системе сервера. Эта проблема, получившая идентификатор CVE-2026-27728, оценивается как высокоопасная, поскольку открывает путь к полному захвату контроля над ключевым компонентом инфраструктуры. Эксперты настоятельно рекомендуют компаниям, использующим версии OneUptime ранее 10.0.7, немедленно установить обновление безопасности.
Суть проблемы и механизм эксплуатации
Уязвимость была детально исследована специалистами компании SentinelOne. Её корень кроется в функции "performTraceroute()" компонента Probe Server, который отвечает за трассировку сетевого пути до отслеживаемых конечных точек. Функция принимает вводимые пользователем данные, в частности, поле "destination" из конфигурации мониторинга. Проблемный код использует функцию "exec()" из модуля "child_process" среды выполнения Node.js для выполнения команд оболочки операционной системы.
Основная опасность заключается в поведении функции "exec()", которая запускает команды внутри оболочки shell. Это означает, что она интерпретирует специальные символы (метасимволы), такие как точка с запятой (";"), вертикальная черта ("|"), амперсанд ("&"), а также конструкции вроде "$()" и обратных кавычек. Злоумышленник, имеющий даже низкоуровневые права аутентифицированного пользователя проекта, может создать конфигурацию мониторинга, где в поле назначения будет указан не просто адрес, а команда для инъекции. Например, значение "example.com; cat /etc/passwd" заставит сервер сначала выполнить стандартную трассировку, а затем вывести содержимое системного файла с паролями.
Таким образом, из-за недостаточной валидации входных данных, предназначенная для диагностики сети функция превращается в инструмент для выполнения произвольного кода (Remote Code Execution, RCE). Вредоносные команды выполняются с теми же привилегиями, что и основной процесс сервера Probe. Это создаёт критическую угрозу, поскольку позволяет атакующему не только украсть конфиденциальную информацию с самого сервера мониторинга, но и использовать его как плацдарм для перемещения по внутренней сети организации, что является типичной тактикой целевых атак.
Меры по устранению и рекомендации по защите
Разработчики OneUptime оперативно отреагировали на сообщение об уязвимости и выпустили патч в версии 10.0.7. Исправление кардинально меняет подход к выполнению системных команд. Вместо небезопасной функции "exec()" теперь используется "execFile()". Ключевое отличие заключается в том, что "execFile()" запускает указанный исполняемый файл напрямую, передавая аргументы в виде массива, минуя интерпретатор командной оболочки. Это полностью блокирует возможность интерпретации метасимволов, лишая злоумышленника вектора для инъекции.
Для организаций, использующих OneUptime, первоочередной и обязательной мерой является немедленное обновление платформы до версии 10.0.7 или новее. Если установка патча по каким-либо причинам невозможна в кратчайшие сроки, необходимо применить комплекс временных мер, чтобы снизить риски. Во-первых, следует изолировать серверы Probe, ограничив их сетевой доступ только необходимым для работы диапазонам IP-адресов. Во-вторых, необходимо пересмотреть и ужесточить политику предоставления прав пользователям проектов, оставив возможность создавать и редактировать мониторы только доверенным сотрудникам.
Кроме того, крайне важно провести аудит существующих конфигураций мониторинга на предмет наличия подозрительных символов в полях назначения. Параллельно командам информационной безопасности рекомендуется усилить наблюдение за серверами Probe. Необходимо отслеживать аномальную активность, такую как запуск неожиданных процессов, установку сетевых соединений с неизвестными адресами или несанкционированные изменения в файловой системе. Своевременное обнаружение таких признаков может указать на попытку или успешную эксплуатацию уязвимости.
Обнаружение CVE-2026-27728 в очередной раз подчёркивает классическую, но оттого не менее опасную проблему безопасности - недостаточную обработку пользовательского ввода. Инцидент демонстрирует, как даже ограниченная учётная запись в корпоративном инструменте может стать точкой входа для масштабной компрометации. Для специалистов по кибербезопасности это сигнал к тщательному аудиту всех внутренних платформ, где возможно выполнение системных команд, и к строгому следованию принципу минимальных привилегий.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-27728
- https://www.sentinelone.com/vulnerability-database/cve-2026-27728/
- https://github.com/OneUptime/oneuptime/security/advisories/GHSA-jmhp-5558-qxh5
- https://github.com/OneUptime/oneuptime/commit/f2cce35a04fac756cecc7a4c55e23758b99288c1