Podatność w OneUptime (platforma monitoringu open-source) umożliwia nisko uprzywilejowanemu uwierzytelnionemu użytkownikowi (ProjectMember) zdalne wykonanie kodu (RCE) na kontenerze/hoście Probe. Wynika z niekompletnej listy blokowanych właściwości w sandboxie wykonującym skrypty Playwright.
▸ Pokaż oryginał (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.
Skrypty Synthetic Monitor są wykonywane w środowisku VMRunner.runCodeInNodeVM z aktywnym obiektem strony Playwright dostępnym w kontekście. Mechanizm ochronny opiera się na denyliście zablokowanych właściwości i metod, jednak lista ta jest niekompletna — właściwości `_browserType` oraz metoda `launchServer` nie są blokowane. Atakujący może przejść ścieżką `page.context().browser()._browserType.launchServer(...)`, co pozwala na uruchomienie dowolnych procesów systemowych na hoście lub w kontenerze Probe.
Atakujący z uprawnieniami ProjectMember może wykonać dowolne polecenia systemowe na kontenerze lub hoście Probe, uzyskując pełną kontrolę nad środowiskiem uruchomieniowym (poufność, integralność i dostępność systemu są w pełni zagrożone).
Należy zaktualizować OneUptime do wersji 10.0.35, która zawiera patch eliminujący podatność poprzez uzupełnienie denylisty o właściwości `_browserType` i metodę `launchServer`. Patch dostępny w referencjach producenta (commit e8e4ee3ff0740eb131045ab3d67453141c46178a na GitHub).
OneUptime (Hackerbay) w wersjach poprzedzających 10.0.35
Podatność dotyczy środowisk, w których niezaufani użytkownicy posiadają rolę ProjectMember i mają dostęp do funkcji Synthetic Monitor. Ze względu na zasięg (S:C — zmiana zakresu) oraz brak wymogu interakcji użytkownika i niskie wymagania co do uprawnień, rzeczywiste ryzyko jest bardzo wysokie mimo braku potwierdzenia aktywnej eksploatacji.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HHackerbay Oneuptime
APPHackerbay< 10.0.35
Powiązane podatności
OneUptime: nieautoryzowany dostęp do endpointów powiadomień i zarządzania numerami
Brak uwierzytelnienia w endpointach workflow w OneUptime (RCE)
Brak uwierzytelnienia w API powiadomień OneUptime — obejście autoryzacji
SQL Injection w OneUptime — nieautoryzowany dostęp do bazy i potencjalny RCE
OneUptime: RCE przez niebezpieczny Playwright sandbox w Synthetic Monitors