<?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://vulnerability.circl.lu</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>Mon, 28 Sep 2026 15:41:26 +0000</lastBuildDate>
    <item>
      <title>GHSA-9c88-49p5-5ggf — Systeminformation has a Command Injection via unsanitized interface parameter in wifi.js retry path</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-9c88-49p5-5ggf</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: systeminformation&lt;/p&gt;
&lt;p&gt;### Summary
A command injection vulnerability in the `wifiNetworks()` function allows an attacker to execute arbitrary OS commands via an unsanitized network interface parameter in the retry code path.&lt;/p&gt;
&lt;p&gt;### Details
In `lib/wifi.js`, the `wifiNetworks()` function sanitizes the `iface` parameter on the initial call (line 437). However, when the initial scan returns empty results, a `setTimeout` retry (lines 440-441) calls `getWifiNetworkListIw(iface)` with the **original unsanitized** `iface` value, which is passed directly to `execSync(&amp;#39;iwlist ${iface} scan&amp;#39;)`.&lt;/p&gt;
&lt;p&gt;### PoC
1. Install `systeminformation@5.30.7`
2. Call `si.wifiNetworks(&amp;#39;eth0; id&amp;#39;)`
3. The first call sanitizes input, but if results are empty, the retry executes: `iwlist eth0; id scan`&lt;/p&gt;
&lt;p&gt;### Impact
Remote Code Execution (RCE). Any application passing user-controlled input to `si.wifiNetworks()` is vulnerable to arbitrary command execution with the privileges of the Node.js process.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: systeminformation&lt;/p&gt;
&lt;p&gt;### Summary
A command injection vulnerability in the `wifiNetworks()` function allows an attacker to execute arbitrary OS commands via an unsanitized network interface parameter in the retry code path.&lt;/p&gt;
&lt;p&gt;### Details
In `lib/wifi.js`, the `wifiNetworks()` function sanitizes the `iface` parameter on the initial call (line 437). However, when the initial scan returns empty results, a `setTimeout` retry (lines 440-441) calls `getWifiNetworkListIw(iface)` with the **original unsanitized** `iface` value, which is passed directly to `execSync(&amp;#39;iwlist ${iface} scan&amp;#39;)`.&lt;/p&gt;
&lt;p&gt;### PoC
1. Install `systeminformation@5.30.7`
2. Call `si.wifiNetworks(&amp;#39;eth0; id&amp;#39;)`
3. The first call sanitizes input, but if results are empty, the retry executes: `iwlist eth0; id scan`&lt;/p&gt;
&lt;p&gt;### Impact
Remote Code Execution (RCE). Any application passing user-controlled input to `si.wifiNetworks()` is vulnerable to arbitrary command execution with the privileges of the Node.js process.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-9c88-49p5-5ggf</guid>
    </item>
  </channel>
</rss>
