<?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>Wed, 07 Oct 2026 08:55:37 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-352608</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-352608</link>
      <description>EUVD-2026-352608</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-352608</guid>
    </item>
    <item>
      <title>fkie_cve-2026-49143</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-49143</link>
      <description>&lt;p&gt;BrowserStack Runner through 0.9.5 contains a remote code execution vulnerability in the /_log HTTP handler that allows unauthenticated network-adjacent attackers to execute arbitrary code by submitting crafted JSON request bodies to the handler, which passes user-supplied data to vm.runInNewContext() combined with eval(). Attackers can escape the Node.js vm sandbox by leveraging a host-context Function reference through util.format to access the host process via this.constructor.constructor, achieving full remote code execution on the underlying system without any authentication.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;BrowserStack Runner through 0.9.5 contains a remote code execution vulnerability in the /_log HTTP handler that allows unauthenticated network-adjacent attackers to execute arbitrary code by submitting crafted JSON request bodies to the handler, which passes user-supplied data to vm.runInNewContext() combined with eval(). Attackers can escape the Node.js vm sandbox by leveraging a host-context Function reference through util.format to access the host process via this.constructor.constructor, achieving full remote code execution on the underlying system without any authentication.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-49143</guid>
    </item>
    <item>
      <title>GHSA-6vr3-7wcx-v5g5 — browserstack-runner vulnerable to Remote Code Execution via vm sandbox escape in _log HTTP handler</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-6vr3-7wcx-v5g5</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: browserstack-runner&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The HTTP handler `/_log` in `lib/server.js` (lines 491–515) of browserstack-runner passes unauthenticated user-supplied data to `vm.runInNewContext()` combined with `eval()`, enabling a sandbox escape and arbitrary code execution on the host system.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;When `browserstack-runner` starts, it creates an HTTP server on port 8888 (configurable) that listens on all network interfaces (`0.0.0.0`). The `/_log` endpoint accepts POST requests and processes the JSON body as follows:&lt;/p&gt;
&lt;p&gt;```javascript
// lib/server.js lines 504-510
var context = { input: query.arguments, format: util.format, output: &amp;#39;&amp;#39; };
var tryEvalOrString = &amp;#39;function (arg) { try { return eval(\&amp;#39;o = \&amp;#39; + arg); } catch (e) { return arg; } }&amp;#39;;
vm.runInNewContext(&amp;#39;output = format.apply(null, input.map(&amp;#39; + tryEvalOrString + &amp;#39;));&amp;#39;, context);
```&lt;/p&gt;
&lt;p&gt;The `vm` module is [not a security mechanism](https://nodejs.org/api/vm.html#vm-executing-javascript) per Node.js documentation. The `context` object contains a reference to `util.format` (a host-context Function), enabling sandbox escape via `this.constructor.constructor(&amp;#34;return process&amp;#34;)()`.&lt;/p&gt;
&lt;p&gt;Unlike the `_progress` and `_report` handlers which verify worker UUID authentication, the `_log` handler does not gate on authentication.&lt;/p&gt;
&lt;p&gt;### Proof of Concept&lt;/p&gt;
&lt;p&gt;```bash
# Terminal 1: start the runner
echo &amp;#39;&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;t&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;#39; &amp;gt; t.html
echo &amp;#39;{&amp;#34;username&amp;#34;:&amp;#34;X&amp;#34;,&amp;#34;key&amp;#34;:&amp;#34;X&amp;#34;,&amp;#34;test_path&amp;#34;:&amp;#34;t.html&amp;#34;,&amp;#34;test_framework&amp;#34;:&amp;#34;qunit&amp;#34;,&amp;#34;browsers&amp;#34;:[]}&amp;#39; &amp;gt; browserstack.json
node bin/runn…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: browserstack-runner&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The HTTP handler `/_log` in `lib/server.js` (lines 491–515) of browserstack-runner passes unauthenticated user-supplied data to `vm.runInNewContext()` combined with `eval()`, enabling a sandbox escape and arbitrary code execution on the host system.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;When `browserstack-runner` starts, it creates an HTTP server on port 8888 (configurable) that listens on all network interfaces (`0.0.0.0`). The `/_log` endpoint accepts POST requests and processes the JSON body as follows:&lt;/p&gt;
&lt;p&gt;```javascript
// lib/server.js lines 504-510
var context = { input: query.arguments, format: util.format, output: &amp;#39;&amp;#39; };
var tryEvalOrString = &amp;#39;function (arg) { try { return eval(\&amp;#39;o = \&amp;#39; + arg); } catch (e) { return arg; } }&amp;#39;;
vm.runInNewContext(&amp;#39;output = format.apply(null, input.map(&amp;#39; + tryEvalOrString + &amp;#39;));&amp;#39;, context);
```&lt;/p&gt;
&lt;p&gt;The `vm` module is [not a security mechanism](https://nodejs.org/api/vm.html#vm-executing-javascript) per Node.js documentation. The `context` object contains a reference to `util.format` (a host-context Function), enabling sandbox escape via `this.constructor.constructor(&amp;#34;return process&amp;#34;)()`.&lt;/p&gt;
&lt;p&gt;Unlike the `_progress` and `_report` handlers which verify worker UUID authentication, the `_log` handler does not gate on authentication.&lt;/p&gt;
&lt;p&gt;### Proof of Concept&lt;/p&gt;
&lt;p&gt;```bash
# Terminal 1: start the runner
echo &amp;#39;&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;t&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;#39; &amp;gt; t.html
echo &amp;#39;{&amp;#34;username&amp;#34;:&amp;#34;X&amp;#34;,&amp;#34;key&amp;#34;:&amp;#34;X&amp;#34;,&amp;#34;test_path&amp;#34;:&amp;#34;t.html&amp;#34;,&amp;#34;test_framework&amp;#34;:&amp;#34;qunit&amp;#34;,&amp;#34;browsers&amp;#34;:[]}&amp;#39; &amp;gt; browserstack.json
node bin/runn…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-6vr3-7wcx-v5g5</guid>
    </item>
  </channel>
</rss>
