<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 15 Oct 2026 15:07:18 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-270425</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-270425</link>
      <description>EUVD-2026-270425</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-270425</guid>
    </item>
    <item>
      <title>fkie_cve-2026-27574</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-27574</link>
      <description>&lt;p&gt;OneUptime is a solution for monitoring and managing online services. In versions 9.5.13 and below, custom JavaScript monitor feature uses Node.js&amp;#39;s node:vm module (explicitly documented as not a security mechanism) to execute user-supplied code, allowing trivial sandbox escape via a well-known one-liner that grants full access to the underlying process. Because the probe runs with host networking and holds all cluster credentials (ONEUPTIME_SECRET, DATABASE_PASSWORD, REDIS_PASSWORD, CLICKHOUSE_PASSWORD) in its environment variables, and monitor creation is available to the lowest role (ProjectMember) with open registration enabled by default, any anonymous user can achieve full cluster compromise in about 30 seconds. This issue has been fixed in version 10.0.5.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;OneUptime is a solution for monitoring and managing online services. In versions 9.5.13 and below, custom JavaScript monitor feature uses Node.js&amp;#39;s node:vm module (explicitly documented as not a security mechanism) to execute user-supplied code, allowing trivial sandbox escape via a well-known one-liner that grants full access to the underlying process. Because the probe runs with host networking and holds all cluster credentials (ONEUPTIME_SECRET, DATABASE_PASSWORD, REDIS_PASSWORD, CLICKHOUSE_PASSWORD) in its environment variables, and monitor creation is available to the lowest role (ProjectMember) with open registration enabled by default, any anonymous user can achieve full cluster compromise in about 30 seconds. This issue has been fixed in version 10.0.5.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-27574</guid>
    </item>
    <item>
      <title>GHSA-v264-xqh4-9xmm — OneUptime:: node:vm sandbox escape in probe allows any project member to achieve RCE</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-v264-xqh4-9xmm</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @oneuptime/common&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;OneUptime lets project members write custom JavaScript that runs inside monitors. The problem is it executes that code using Node.js&amp;#39;s built-in `vm` module, which Node.js itself documents as &amp;#34;not a security mechanism — do not use it to run untrusted code.&amp;#34; The classic one-liner escape gives full access to the underlying process, and since the probe runs with host networking and holds all cluster credentials in its environment, this turns into a full cluster compromise for anyone who can register an account.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerable code is in `Common/Server/Utils/VM/VMRunner.ts` at line 55:&lt;/p&gt;
&lt;p&gt;```typescript
vm.runInContext(script, sandbox, { timeout })
```&lt;/p&gt;
&lt;p&gt;The JavaScript that reaches this call comes straight from the monitor&amp;#39;s `customCode` field, which is only validated as `Zod.string().optional()` in `Common/Types/Monitor/MonitorStep.ts:531`. No AST analysis, no keyword filtering, nothing — just a string that goes directly into `vm.runInContext()`.&lt;/p&gt;
&lt;p&gt;Both `CustomCodeMonitor.ts` and `SyntheticMonitor.ts` import `VMRunner` directly inside the probe process. So when the probe picks up a monitor and runs it, the escape executes in the probe&amp;#39;s own process — not a child process, not a container.&lt;/p&gt;
&lt;p&gt;Two things make this especially bad:&lt;/p&gt;
&lt;p&gt;First, the probe runs with `network_mode: host` (see `docker-compose.base.yml:397`) and carries `ONEUPTIME_SECRET`, `DATABASE_PASSWORD`, `REDIS_PASSWORD`, and `CLICKHOUSE_PASSWORD` as environment variables. Once you escape the sandbox…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @oneuptime/common&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;OneUptime lets project members write custom JavaScript that runs inside monitors. The problem is it executes that code using Node.js&amp;#39;s built-in `vm` module, which Node.js itself documents as &amp;#34;not a security mechanism — do not use it to run untrusted code.&amp;#34; The classic one-liner escape gives full access to the underlying process, and since the probe runs with host networking and holds all cluster credentials in its environment, this turns into a full cluster compromise for anyone who can register an account.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerable code is in `Common/Server/Utils/VM/VMRunner.ts` at line 55:&lt;/p&gt;
&lt;p&gt;```typescript
vm.runInContext(script, sandbox, { timeout })
```&lt;/p&gt;
&lt;p&gt;The JavaScript that reaches this call comes straight from the monitor&amp;#39;s `customCode` field, which is only validated as `Zod.string().optional()` in `Common/Types/Monitor/MonitorStep.ts:531`. No AST analysis, no keyword filtering, nothing — just a string that goes directly into `vm.runInContext()`.&lt;/p&gt;
&lt;p&gt;Both `CustomCodeMonitor.ts` and `SyntheticMonitor.ts` import `VMRunner` directly inside the probe process. So when the probe picks up a monitor and runs it, the escape executes in the probe&amp;#39;s own process — not a child process, not a container.&lt;/p&gt;
&lt;p&gt;Two things make this especially bad:&lt;/p&gt;
&lt;p&gt;First, the probe runs with `network_mode: host` (see `docker-compose.base.yml:397`) and carries `ONEUPTIME_SECRET`, `DATABASE_PASSWORD`, `REDIS_PASSWORD`, and `CLICKHOUSE_PASSWORD` as environment variables. Once you escape the sandbox…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-v264-xqh4-9xmm</guid>
    </item>
  </channel>
</rss>
