CVE-2026-30921

OneUptime Synthetic Monitor RCE via exposed Playwright browser object

State
Published
Severity
10.0 Critical
Published
Mar 9, 2026
Updated
Mar 10, 2026
Reserved
Mar 7, 2026

Read the record on cve.org

Description

OneUptime is a solution for monitoring and managing online services. Prior to 10.0.20, OneUptime Synthetic Monitors allow low-privileged project users to submit custom Playwright code that is executed on the oneuptime-probe service. In the current implementation, this untrusted code is run inside Node's vm and is given live host Playwright objects such as browser and page. This creates a distinct server-side RCE primitive: the attacker does not need the classic this.constructor.constructor(...) sandbox escape. Instead, the attacker can directly use the injected Playwright browser object to reach browser.browserType().launch(...) and spawn an arbitrary executable on the probe host/container. This vulnerability is fixed in 10.0.20.

Scores

CVSSScoreVectorSource
3.110.0 CriticalCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HGitHub_M

Weaknesses

  • CWE-749 Exposed Dangerous Method or Function

Affected Products

ProductVersions
oneuptimeOneUptime
  • < 10.0.20Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.