W platformie OneUptime przed wersją 10.0.42 kilka endpointów API powiadomień zostało zarejestrowanych bez wymaganego middleware uwierzytelniającego, podczas gdy analogiczne endpointy w tej samej bazie kodu poprawnie korzystają z mechanizmu ClusterKeyAuthorization. Podatność umożliwia nieuwierzytelnionemu atakującemu nadużycie konta Twilio ofiary oraz usunięcie wszystkich skonfigurowanych numerów alarmowych.
▸ Pokaż oryginał (EN)
OneUptime is an open-source monitoring and observability platform. Prior to version 10.0.42, multiple notification API endpoints are registered without authentication middleware, while sibling endpoints in the same codebase correctly use ClusterKeyAuthorization.isAuthorizedServiceMiddleware. These endpoints are externally reachable via the Nginx proxy at /notification/. Combined with a projectId leak from the public Status Page API, an unauthenticated attacker can purchase phone numbers on the victim's Twilio account and delete all existing alerting numbers. This issue has been patched in version 10.0.42.
Endpointy w ścieżce /notification/ są dostępne z zewnątrz poprzez proxy Nginx bez wymagania jakiegokolwiek uwierzytelnienia. Atakujący może pozyskać wartość projectId poprzez publiczne API strony statusu (Status Page API), które nie wymaga logowania. Dysponując tym identyfikatorem, może wysyłać nieautoryzowane żądania do endpointów powiadomień — w tym zakupić nowe numery telefonów obciążając konto Twilio ofiary oraz usunąć wszystkie istniejące numery alarmowe.
Nieuwierzytelniony atakujący może generować koszty finansowe na koncie Twilio właściciela platformy poprzez zakup numerów telefonów, a także pozbawić organizację wszystkich skonfigurowanych powiadomień alarmowych, co może prowadzić do utraty ciągłości monitoringu i obsługi incydentów.
Należy zaktualizować OneUptime do wersji 10.0.42 lub nowszej, w której problem został naprawiony przez dodanie odpowiedniego middleware uwierzytelniającego do dotkniętych endpointów API powiadomień. Patch dostępny jest w repozytorium GitHub projektu (commit 9adbd04538714740506708d6fa610e433be4d2a4) oraz w wydaniu oznaczonym tagiem 10.0.42.
OneUptime (Hackerbay) w wersjach przed 10.0.42
Podatność opisana i zgłoszona przez GitHub Security Advisory GHSA-6wc5-rhvj-cx7f. Istotnym czynnikiem podwyższającym ryzyko jest możliwość uzyskania projectId bez uwierzytelnienia za pośrednictwem publicznego API Status Page, co czyni atak w pełni bezagentowym dla zewnętrznego napastnika.
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XHackerbay Oneuptime
APPHackerbay< 10.0.42
Powiązane podatności
OneUptime: nieautoryzowany dostęp do endpointów powiadomień i zarządzania numerami
Brak uwierzytelnienia w endpointach workflow w OneUptime (RCE)
RCE w OneUptime — command injection przez Playwright w Synthetic Monitor
SQL Injection w OneUptime — nieautoryzowany dostęp do bazy i potencjalny RCE
OneUptime: RCE przez niebezpieczny Playwright sandbox w Synthetic Monitors