Platforma monitoringu OneUptime w wersjach przed 10.0.98 nieprawidłowo wykorzystuje moduł vm z Node.js jako mechanizm izolacji kodu. Moduł ten nie był zaprojektowany do tego celu i może zostać ominięty, co prowadzi do wykonania arbitralnego kodu poza piaskownicą.
▸ Pokaż oryginał (EN)
OneUptime is an open-source monitoring and observability platform. Prior to 10.0.98, OneUptime uses the Node.js' vm module as an isolation primitive. This API was not designed for that and can be escaped via error objects and infinite recursion. This vulnerability is fixed in 10.0.98.
OneUptime stosuje wbudowany moduł vm Node.js do izolacji wykonywanego kodu. Moduł vm nie zapewnia rzeczywistej izolacji bezpieczeństwa — atakujący może z niego uciec przy użyciu obiektów błędów (error objects) oraz nieskończonej rekurencji. Po ucieczce z sandbox kod atakującego uzyskuje dostęp do środowiska Node.js hosta, wykraczając poza granice izolacji (scope:changed — S:C w wektorze CVSS).
Uwierzytelniony atakujący zdalnie może wykonać dowolny kod w kontekście serwera (RCE), uzyskując pełną kontrolę nad poufnością, integralnością i dostępnością systemu, potencjalnie obejmując zasoby wykraczające poza bezpośrednio atakowaną aplikację.
Należy zaktualizować OneUptime do wersji 10.0.98 lub nowszej, w której podatność została naprawiona. Szczegóły dostępne w oficjalnym security advisory na GitHub: GHSA-g9cp-35m2-fjv6
OneUptime (open-source) we wszystkich wersjach przed 10.0.98
Podatność sklasyfikowana jako CWE-693 (Protection Mechanism Failure). Wektor CVSS wskazuje na wymaganie niskich uprawnień (PR:L), co oznacza, że wystarczy posiadanie konta w systemie. Zakres naruszenia wykracza poza samą aplikację (S:C).
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H