Podatność w OneUptime (do wersji 10.0.20 włącznie) umożliwia nisko uprzywilejowanemu użytkownikowi ominięcie mechanizmów autoryzacji i izolacji tenantów poprzez wysłanie sfałszowanych nagłówków HTTP. Skutkiem może być pełne przejęcie konta ofiary oraz nieuprawniony dostęp do danych innych organizacji.
▸ Pokaż oryginał (EN)
OneUptime is a solution for monitoring and managing online services. Prior to 10.0.21, a low‑privileged user can bypass authorization and tenant isolation in OneUptime v10.0.20 and earlier by sending a forged is-multi-tenant-query header together with a controlled projectid header. Because the server trusts this client-supplied header, internal permission checks in BasePermission are skipped and tenant scoping is disabled. This allows attackers to access project data belonging to other tenants, read sensitive User fields via nested relations, leak plaintext resetPasswordToken, and reset the victim’s password and fully take over the account. This results in cross‑tenant data exposure and full account takeover. This vulnerability is fixed in 10.0.21.
Atakujący wysyła żądanie HTTP zawierające sfałszowany nagłówek 'is-multi-tenant-query' wraz z kontrolowanym nagłówkiem 'projectid'. Serwer bezwarunkowo ufa tym nagłówkom dostarczanym przez klienta, w wyniku czego wewnętrzne mechanizmy kontroli uprawnień w komponencie BasePermission zostają pominięte, a ograniczenie zakresu danych do konkretnego tenanta jest wyłączane. Pozwala to atakującemu na odczyt danych projektów należących do innych tenantów, w tym wrażliwych pól użytkownika oraz tokena resetowania hasła w postaci jawnego tekstu, a następnie na zresetowanie hasła ofiary.
Atakujący może uzyskać dostęp do poufnych danych projektów dowolnego tenanta oraz przechwycić plaintext resetPasswordToken, co prowadzi do pełnego przejęcia konta ofiary (account takeover) i ujawnienia danych między tenantami (cross-tenant data exposure).
Należy zaktualizować OneUptime do wersji 10.0.21, w której podatność została naprawiona. Patch dostępny w referencjach producenta: https://github.com/OneUptime/oneuptime/releases/tag/10.0.21
OneUptime (Hackerbay) w wersjach do 10.0.20 włącznie
Podatność opisana w oficjalnym security advisory GitHub (GHSA-r5v6-2599-9g3m). Poprawka wprowadzona w wersji 10.0.21.
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