OneUptime is Vulnerable to Privilege Escalation via Login Response Manipulation
Description
OneUptime is a solution for monitoring and managing online services. Prior to version 8.0.5567, OneUptime is vulnerable to privilege escalation via Login Response Manipulation. During the login process, the server response included a parameter called isMasterAdmin. By intercepting and modifying this parameter value from false to true, it is possible to gain access to the admin dashboard interface. However, an attacker may be unable to view or interact with the data if they still do not have sufficient permissions. This issue has been patched in version 8.0.5567.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
OneUptime before 8.0.5567 allows privilege escalation by tampering the isMasterAdmin flag in the login response to access the admin dashboard.
Vulnerability
Overview
OneUptime, a comprehensive monitoring and observability platform, prior to version 8.0.5567 suffered from a privilege escalation vulnerability through login response manipulation. During the authentication process, the server's response to the client included a parameter named isMasterAdmin. By intercepting this response and modifying the value from false to true, an attacker could gain unauthorized access to the admin dashboard interface [1][4].
Attack
Vector and Prerequisites
The vulnerability is exploitable by intercepting the network traffic between the client and the server during the login step. The attacker must be able to perform a man-in-the-middle attack or otherwise modify the server's response before it reaches the client application. No additional authentication beyond a valid user session is required, but the attacker must first have a valid login session to intercept [1][4]. The official advisory notes that while the admin dashboard becomes accessible, the attacker may still lack sufficient permissions to view or interact with underlying data [1].
Impact
An attacker who successfully manipulates the isMasterAdmin parameter can access the admin dashboard interface, potentially viewing administrative panels and functions. However, according to the description and advisory, accessing the dashboard does not necessarily grant full data access; further permission checks may still restrict viewing or interacting with sensitive data [1][4].
Mitigation
The vulnerability has been patched in OneUptime version 8.0.5567. The patch, visible in commit 3e72b2a, adds server-side authorization checks to ensure that only users with a valid JSON Web Token containing the isMasterAdmin flag set to true can access the admin application routes [3]. Users are strongly advised to upgrade to the latest version to remediate this issue [1].
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
@oneuptime/commonnpm | < 8.0.5567 | 8.0.5567 |
Affected products
2- OneUptime/oneuptimev5Range: < 8.0.5567
Patches
13e72b2a9a4f5fix(admin): restrict AdminDashboard to master admins and guard index render
2 files changed · +58 −1
AdminDashboard/Serve.ts+51 −1 modified@@ -1,13 +1,62 @@ import { PromiseVoidFunction } from "Common/Types/FunctionTypes"; -import Express, { ExpressApplication } from "Common/Server/Utils/Express"; +import Express, { + ExpressApplication, + ExpressRequest, + ExpressResponse, +} from "Common/Server/Utils/Express"; import logger from "Common/Server/Utils/Logger"; import App from "Common/Server/Utils/StartServer"; +import Response from "Common/Server/Utils/Response"; +import UserMiddleware from "Common/Server/Middleware/UserAuthorization"; +import JSONWebToken from "Common/Server/Utils/JsonWebToken"; +import NotAuthorizedException from "Common/Types/Exception/NotAuthorizedException"; +import { JSONObject } from "Common/Types/JSON"; import "ejs"; export const APP_NAME: string = "admin"; const app: ExpressApplication = Express.getExpressApp(); +const ensureMasterAdminAccess = async ( + req: ExpressRequest, + res: ExpressResponse, +): Promise<JSONObject> => { + try { + const accessToken: string | undefined = + UserMiddleware.getAccessTokenFromExpressRequest(req); + + if (!accessToken) { + Response.sendErrorResponse( + req, + res, + new NotAuthorizedException("Only master admins can access this app."), + ); + return {}; + } + + const authData = JSONWebToken.decode(accessToken); + + if (!authData.isMasterAdmin) { + Response.sendErrorResponse( + req, + res, + new NotAuthorizedException("Only master admins can access this app."), + ); + return {}; + } + + return {}; + } catch (error) { + logger.error(error); + Response.sendErrorResponse( + req, + res, + new NotAuthorizedException("Only master admins can access this app."), + ); + return {}; + } +}; + const init: PromiseVoidFunction = async (): Promise<void> => { try { // init the app @@ -19,6 +68,7 @@ const init: PromiseVoidFunction = async (): Promise<void> => { liveCheck: async () => {}, readyCheck: async () => {}, }, + getVariablesToRenderIndexPage: ensureMasterAdminAccess, }); // add default routes
Common/Server/Utils/StartServer.ts+7 −0 modified@@ -249,6 +249,13 @@ const init: InitFunction = async ( logger.debug("Rendering index page with variables: "); logger.debug(variables); + if (res.headersSent) { + logger.debug( + "Response already sent while preparing index page. Skipping render.", + ); + return; + } + return res.render("/usr/src/app/views/index.ejs", { enableGoogleTagManager: IsBillingEnabled || false, ...variables,
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-675q-66gf-gqg8ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2025-66028ghsaADVISORY
- github.com/OneUptime/oneuptime/commit/3e72b2a9a4f50f98cf1f6cf13fa3e405715bb370ghsax_refsource_MISCWEB
- github.com/OneUptime/oneuptime/security/advisories/GHSA-675q-66gf-gqg8ghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.