CVE-2026-30887 OneUptime Affected by Unsandboxed Code Execution in Probe Allows Any Project Member to Achieve RCE
Project members can execute arbitrary system commands via unsandboxed JavaScript in Synthetic Monitors, leading to full cluster compromise.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-30887?
CVE-2026-30887 is a critical code injection vulnerability in oneuptime, published on 9 Mar 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
OneUptime is a solution for monitoring and managing online services. Prior to 10.0.18, OneUptime allows project members to run custom Playwright/JavaScript code via Synthetic Monitors to test websites. However, the system executes this untrusted user code inside the insecure Node.js vm module. By leveraging a standard prototype-chain escape (this.constructor.constructor), an attacker can bypass the sandbox, gain access to the underlying Node.js process object, and execute arbitrary system commands (RCE) on the oneuptime-probe container. Furthermore, because the probe holds database/cluster credentials in its environment variables, this directly leads to a complete cluster compromise. This vulnerability is fixed in 10.0.18.
Weakness: CWE-94
Which versions are affected by CVE-2026-30887?
2 open source packages ship an affected version, including @oneuptime/common. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
@oneuptime/common npm | All versions | 10.0.18 |
@oneuptime/common npm | All versions | 10.0.18 |
Products include Hackerbay Oneuptime.
How do I fix CVE-2026-30887?
Upgrade @oneuptime/common to 10.0.18 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-30887 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-30887 exists.
Other vulnerabilities in oneuptime
- CVE-2026-33396 Code injection in oneuptime
- CVE-2026-32306 OneUptime ClickHouse SQL Injection via Aggregate Query Parameters
- CVE-2026-30956 OneUptime has authorization bypass via client‑controlled is-multi-tenant-query header
- CVE-2026-30957 OneUptime Synthetic Monitor RCE via exposed Playwright browser object
- CVE-2026-30921 OneUptime Synthetic Monitor RCE via exposed Playwright browser object
Sources
Also known as GHSA-h343-gg57-2q67.