Podatność w OneUptime (przed wersją 10.0.21) pozwala niskouprzywilejowanemu uwierzytelnionemu użytkownikowi projektu na zdalne wykonanie dowolnych poleceń na serwerze lub kontenerze oneuptime-probe. Ze względu na krytyczny wynik CVSS 9.9 i brak wymagań co do wysokich uprawnień, zagrożenie jest bardzo poważne.
▸ Pokaż oryginał (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.
Mechanizm Synthetic Monitors wykonuje niezaufany kod użytkownika wewnątrz sandbox środowiska Node.js (moduł vm), jednak obiekty przeglądarki i strony Playwright działające w kontekście hosta są bezpośrednio udostępniane temu kodowi. Atakujący może wywołać metody API Playwright na wstrzykniętym obiekcie przeglądarki, co powoduje uruchomienie przez serwer probe'a wykonywalnego pliku kontrolowanego przez atakującego. Atak nie wymaga odrębnej ucieczki z sandbox vm — wystarczy wykorzystanie dostępnych obiektów hosta.
Atakujący może wykonać dowolne polecenia systemowe na serwerze lub kontenerze oneuptime-probe, co potencjalnie prowadzi do pełnego przejęcia kontroli nad środowiskiem probe'a, wycieku danych oraz dalszego lateral movement w infrastrukturze.
Należy zaktualizować OneUptime do wersji 10.0.21 lub nowszej, w której podatność została naprawiona. Patch dostępny jest w oficjalnym repozytorium GitHub: https://github.com/OneUptime/oneuptime/releases/tag/10.0.21
OneUptime (Hackerbay) we wszystkich wersjach przed 10.0.21, w szczególności instalacje korzystające z funkcji Synthetic Monitors.
Podatność sklasyfikowana jako CWE-749 (Exposed Dangerous Method or Function). Szczegóły techniczne oraz advisory dostępne pod adresem: https://github.com/OneUptime/oneuptime/security/advisories/GHSA-jw8q-gjvg-8w4q
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HHackerbay Oneuptime
APPHackerbay< 10.0.21
Powiązane podatności
Brak uwierzytelnienia w endpointach workflow w OneUptime (RCE)
Brak uwierzytelnienia w API powiadomień OneUptime — obejście autoryzacji
OneUptime: nieautoryzowany dostęp do endpointów powiadomień i zarządzania numerami
RCE w OneUptime — command injection przez Playwright w Synthetic Monitor
SQL Injection w OneUptime — nieautoryzowany dostęp do bazy i potencjalny RCE