Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Lifecycle Timeline
2DescriptionGitHub Advisory
OneUptime is an open-source monitoring and observability platform. Prior to 10.0.98, OneUptime uses the Node.js' vm module as an isolation primitive. This API was not designed for that and can be escaped via error objects and infinite recursion. This vulnerability is fixed in 10.0.98.
AnalysisAI
Sandbox escape in OneUptime before 10.0.98 lets an authenticated user break out of the Node.js vm-module isolation that the platform relies on to safely run untrusted logic, gaining code execution in the host context. The vm module was never intended as a security boundary and can be escaped using error objects and infinite recursion, yielding full confidentiality, integrity, and availability impact (CVSS 9.9, scope-changed). No public exploit is identified at time of analysis, but the escape technique is well-documented for the Node.js vm module generally.
Technical ContextAI
OneUptime is an open-source monitoring and observability platform that, like many automation/monitoring tools, executes user-supplied or workflow logic inside Node.js' built-in vm module to isolate it from the host process. The Node.js documentation explicitly warns that the vm module is NOT a security sandbox: it creates a separate V8 context but shares the same process and object prototypes, so references to host objects (commonly reachable through thrown error objects, prototype chains, or constructor traversal) can be used to reach the host's global scope and the require/process primitives. Triggering infinite recursion to surface a RangeError and then walking the error object's prototype/constructor chain is a classic escape path. The CWE-693 classification (Protection Mechanism Failure) is accurate: the root cause is not a parsing or memory bug but reliance on an isolation primitive that does not actually provide the intended security guarantee. Affected builds are identified by cpe:2.3:a:oneuptime:oneuptime:*:*:*:*:*:*:*:* for all versions prior to 10.0.98.
RemediationAI
Vendor-released patch: 10.0.98 - upgrade OneUptime to 10.0.98 or later, which replaces or hardens the vm-module isolation, per the advisory at https://github.com/OneUptime/oneuptime/security/advisories/GHSA-g9cp-35m2-fjv6. Until the upgrade can be applied, restrict who can author or submit code/expressions to any feature evaluated via the vm module and tighten account provisioning so that only fully trusted operators hold the low-privilege accounts that can reach the vulnerable path (trade-off: reduces self-service workflow/automation capability for ordinary users). Where feasible, run the OneUptime process under a least-privilege OS account and network-segment it so a host-context escape yields minimal lateral reach (trade-off: added operational complexity, no protection against in-process data exposure). These are compensating controls only; the vm module is not a security boundary, so the upgrade is the sole reliable fix.
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat
The HTTP server in Node.js 0.10.x before 0.10.21 and 0.8.x before 0.8.26 allows remote attackers to cause a denial of se
Same weakness CWE-693 – Protection Mechanism Failure
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-32632