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.
An attacker sends an HTTP request containing a spoofed 'is-multi-tenant-query' header along with a controlled 'projectid' header. The server unconditionally trusts these headers supplied by the client, as a result internal permission control mechanisms in the BasePermission component are bypassed, and the restriction of data scope to a specific tenant is disabled. This allows the attacker to read project data belonging to other tenants, including sensitive user fields and password reset token in plaintext, and then reset the victim's password.
An attacker can gain access to sensitive project data of any tenant and intercept plaintext resetPasswordToken, leading to complete account takeover of the victim and cross-tenant data exposure.
OneUptime should be updated to version 10.0.21, in which the vulnerability has been fixed. Patch available in vendor references: https://github.com/OneUptime/oneuptime/releases/tag/10.0.21
OneUptime (Hackerbay) in versions up to 10.0.20 inclusive
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HHackerbay Oneuptime
APPHackerbay< 10.0.21
Related vulnerabilities
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