OneUptime — это решение для мониторинга и управления онлайн-сервисами. До версии 10.0.21 синтетические мониторы OneUptime позволяли аутентифицированному пользователю проекта с низким уровнем привилегий выполнять произвольные команды на сервере/контейнере oneuptime-probe. Основная причина заключается в том, что ненадежный код Synthetic Monitor выполняется внутри виртуальной машины Node, в то время как ему доступны действующий браузер Playwright в хост-области и объекты страницы.
Злоумышленник может вызвать API-интерфейсы Playwright для внедренного объекта браузера и заставить зонд создать исполняемый файл, контролируемый злоумышленником. Это проблема удаленного выполнения кода на стороне сервера. Для этого не требуется отдельный выход из песочницы виртуальной машины.
Эта уязвимость исправлена в версии 10.0.21.
Показать оригинальное описание (EN)
OneUptime is a solution for monitoring and managing online services. Prior to 10.0.21, OneUptime Synthetic Monitors allow a low-privileged authenticated project user to execute arbitrary commands on the oneuptime-probe server/container. The root cause is that untrusted Synthetic Monitor code is executed inside Node's vm while live host-realm Playwright browser and page objects are exposed to it. A malicious user can call Playwright APIs on the injected browser object and cause the probe to spawn an attacker-controlled executable. This is a server-side remote code execution issue. It does not require a separate vm sandbox escape. This vulnerability is fixed in 10.0.21.
Характеристики атаки
Последствия
Строка CVSS v3.1