OneUptime, One Shell: Escaping the node:vm Sandbox
Vulnerability ID: CVE-2026-27574
CVSS Score: 10.0
Published: 2026-02-24
OneUptime, a popular open-source observability platform, suffered from a catastrophic Remote Code Execution (RCE) vulnerability due to a classic misunderstanding of Node.js internals. By allowing users to create custom JavaScript monitors executed via the built-in node:vm module, the application inadvertently provided a bridge for attackers to escape the sandbox and execute arbitrary commands on the host. With a CVSS score of 10.0, this flaw allows unauthenticated attackers (via open registration) to fully compromise the underlying infrastructure, stealing database credentials and cluster secrets in seconds.
TL;DR
Critical RCE in OneUptime < 10.0.5 allows attackers to escape the 'node:vm' sandbox via custom monitors. Exploitation grants full root access and credential theft.
⚠️ Exploit Status: POC
Technical Details
- CVSS Score: 10.0 (Critical)
- CWE ID: CWE-94 (Code Injection)
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- Impact: Remote Code Execution (RCE)
- Attack Vector: Network (Authenticated via Registration)
- Exploit Status: Functional PoC Available
Affected Systems
- OneUptime Probe
- OneUptime Server
- OneUptime Docker Container
-
OneUptime: < 10.0.5 (Fixed in:
10.0.5)
Code Analysis
Commit: 7f9ed4d
fix: security vulnerability in custom javascript monitor
- const vm = require('node:vm');
+ import ivm from 'isolated-vm';
Exploit Details
- GitHub: Full exploit chain demonstrating registration, injection, and environment variable exfiltration.
Mitigation Strategies
- Immediate Patching
- Disable Custom Scripting
- Isolate Monitoring Infrastructure
Remediation Steps:
- Upgrade OneUptime to version 10.0.5 or later immediately.
- If upgrading is impossible, disable the 'Custom JavaScript' monitor feature in the UI settings.
- Disable open user registration to prevent unauthenticated attackers from reaching the attack surface.
- Rotate all secrets (Database, Redis, OneUptime Secret) as they should be considered compromised if you were running a vulnerable version exposed to the internet.
References
Read the full report for CVE-2026-27574 on our website for more details including interactive diagrams and full exploit analysis.
Top comments (0)