OneUptime — это платформа для мониторинга и наблюдения с открытым исходным кодом. До версии 10.0.35 аутентифицированный пользователь с низким уровнем привилегий (ProjectMember) мог удаленно выполнять команды на контейнере/хосте Probe, злоупотребляя выполнением сценария Synthetic Monitor Playwright. Синтетический код монитора выполняется в VMRunner.runCodeInNodeVM с живым объектом страницы драматурга в контексте.
Песочница опирается на список запрещенных свойств/методов, но он неполный. В частности, _browserType и launchServer не блокируются, поэтому код злоумышленника может проходить через `page.context().browser()._browserType.launchServer(...)` и запускать произвольные процессы. Версия 10.0.35 содержит патч.
Показать оригинальное описание (EN)
OneUptime is an open-source monitoring and observability platform. Prior to version 10.0.35, a low-privileged authenticated user (ProjectMember) can achieve remote command execution on the Probe container/host by abusing Synthetic Monitor Playwright script execution. Synthetic monitor code is executed in VMRunner.runCodeInNodeVM with a live Playwright page object in context. The sandbox relies on a denylist of blocked properties/methods, but it is incomplete. Specifically, _browserType and launchServer are not blocked, so attacker code can traverse `page.context().browser()._browserType.launchServer(...)` and spawn arbitrary processes. Version 10.0.35 contains a patch.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Hackerbay Oneuptime
cpe:2.3:a:hackerbay:oneuptime:*:*:*:*:*:*:*:*
|
— |
10.0.35
|