Every CVE Search/ Get API key

CVE-2026-26280

Systeminformation has a Command Injection via unsanitized interface parameter in wifi.js retry path

8.4 HighFix available

systeminformation is a System and OS information library for node.js. In versions prior to 5.30.8, 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. 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('iwlist ${iface} scan'). Any application passing user-controlled input to si.wifiNetworks() is vulnerable to arbitrary command execution with the privileges of the Node.js process. Version 5.30.8 fixes the issue.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

1.37%Up 1.3 points since Feb 20, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.4

Systeminformation has a Command Injection via unsanitized interface parameter in wifi.js retry path

systeminformation is a System and OS information library for node.js. In versions prior to 5.30.8, 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. 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('iwlist ${iface} scan'). Any application passing user-controlled input to si.wifiNetworks() is vulnerable to arbitrary command execution with the privileges of the Node.js process. Version 5.30.8 fixes the issue.

Record
CVE-2026-26280
CVSS 3.1
8.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-78, CWE-78
Updated
2026-11-02
EUVDEUVD-2026-7969 8.4

systeminformation is a System and OS information library for node.js. In versions prior to 5.30.8, 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. 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('iwlist ${iface} scan'). Any application passing user-controlled input to si.wifiNetworks() is vulnerable to arbitrary command execution with the privileges of the Node.js process. Version 5.30.8 fixes the issue.

Record
EUVD-2026-7969
CVSS 3.1
8.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-9c88-49p5-5ggf 8.4

Systeminformation has a Command Injection via unsanitized interface parameter in wifi.js retry path

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.

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('iwlist ${iface} scan').

PoC

  1. Install [email protected]
  2. Call si.wifiNetworks('eth0; id')
  3. The first call sanitizes input, but if results are empty, the retry executes: iwlist eth0; id scan

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.

Record
GHSA-9c88-49p5-5ggf
CVSS 3.1
8.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-78
Updated
2026-11-02
NVD 8.4

systeminformation is a System and OS information library for node.js. In versions prior to 5.30.8, 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. 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('iwlist ${iface} scan'). Any application passing user-controlled input to si.wifiNetworks() is vulnerable to arbitrary command execution with the privileges of the Node.js process. Version 5.30.8 fixes the issue.

Record
CVE-2026-26280
CVSS 3.1
8.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-78
Updated
2026-11-02
OSV 8.4

Systeminformation has a Command Injection via unsanitized interface parameter in wifi.js retry path

systeminformation is a System and OS information library for node.js. In versions prior to 5.30.8, 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. 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('iwlist ${iface} scan'). Any application passing user-controlled input to si.wifiNetworks() is vulnerable to arbitrary command execution with the privileges of the Node.js process. Version 5.30.8 fixes the issue.

Record
CVE-2026-26280
CVSS 3.1
8.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-78
Updated
2026-11-02
OSVDEBIAN-CVE-2026-26280 7.8

systeminformation is a System and OS information library for node.js. In versions prior to 5.30.8, 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. 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('iwlist ${iface} scan'). Any application passing user-controlled input to si.wifiNetworks() is vulnerable to arbitrary command execution with the privileges of the Node.js process. Version 5.30.8 fixes the issue.

Record
DEBIAN-CVE-2026-26280
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 4 moreShow less
OSVGHSA-9c88-49p5-5ggf 8.4

Systeminformation has a Command Injection via unsanitized interface parameter in wifi.js retry path

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.

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('iwlist ${iface} scan').

PoC

  1. Install [email protected]
  2. Call si.wifiNetworks('eth0; id')
  3. The first call sanitizes input, but if results are empty, the retry executes: iwlist eth0; id scan

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.

Record
GHSA-9c88-49p5-5ggf
CVSS 3.1
8.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-78
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2026-26280 8.4

CVE-2026-26280 in systeminformation - Patched by Root

Root has patched CVE-2026-26280 in the systeminformation package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2026-26280
CVSS 3.1
8.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-26280 8.4

systeminformation is a System and OS information library for node.js. In versions prior to 5.30.8, 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. 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('iwlist ${iface} scan'). Any application passing user-controlled input to si.wifiNetworks() is vulnerable to arbitrary command execution with the privileges of the Node.js process. Version 5.30.8 fixes the issue.

Record
UBUNTU-CVE-2026-26280
CVSS 3.1
8.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVCLSA-2026-1790004555 No score

TuxCare security update for systeminformation (1 CVE)

TuxCare rebuilt systeminformation to address 1 CVE. Fixed in 5.23.8-tuxcare.2.

Record
CLSA-2026-1790004555
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
systeminformation
npm
before 5.30.8
5.30.8
systeminformation
TuxCare:npm
5.23.8-tuxcare.0 up to 5.23.8-tuxcare.2, plus listed versions
5.23.85.23.8-tuxcare.1
5.23.8-tuxcare.2
jupyterlab
Debian:13
All versions, plus listed versions
4.0.11+ds1+~cs11.25.27-74.0.11+ds1+~cs11.25.27-84.0.11+ds1+~cs11.25.27-94.0.11+ds2+~cs11.25.27-14.0.11+ds2+~cs11.25.27-3
Show 24 moreShow less
4.0.11+ds3+~cs11.25.27-14.0.11+ds4+~cs11.25.27-14.0.11+ds4+~cs11.25.27-24.0.11+ds4+~cs11.25.27-34.0.11+ds4+~cs11.25.27-44.0.11+ds5+~cs11.25.27-14.0.13+ds1+~2.0.1+~cs1.4.4-14.1.3+ds1+~2.0.1+~0.15.3+~cs1.4.4-14.1.8+ds1+~2.0.1+~0.15.3+~cs1.4.4-14.1.8+ds1+~2.0.1+~0.15.3+~cs1.4.4-24.1.8+ds1+~2.0.1+~0.15.3+~cs1.4.4-34.1.8+ds1+~2.0.1+~0.15.3+~cs1.4.4-44.1.8+ds1+~2.0.1+~0.15.3+~cs1.4.4-54.1.8+ds1+~2.0.1+~0.15.3+~cs1.4.4-64.1.8+ds1+~2.0.1+~0.15.3+~cs1.4.4-74.1.8+ds1+~2.0.1+~0.15.3+~cs1.4.4-84.4.1+ds1+~3.0.5+~0.16.6+~cs1.4.4-14.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-14.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-24.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-34.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-44.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-54.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-64.4.8+ds1+~3.1.0+~0.16.6+~cs1.4.4-1
None known
jupyterlab
Debian:14
before 4.0.11+ds5+~cs11.25.27-1, plus listed versions
4.0.11+ds1+~cs11.25.27-74.0.11+ds1+~cs11.25.27-84.0.11+ds1+~cs11.25.27-94.0.11+ds2+~cs11.25.27-14.0.11+ds2+~cs11.25.27-3
Show 5 moreShow less
4.0.11+ds3+~cs11.25.27-14.0.11+ds4+~cs11.25.27-14.0.11+ds4+~cs11.25.27-24.0.11+ds4+~cs11.25.27-34.0.11+ds4+~cs11.25.27-4
4.0.11+ds5+~cs11.25.27-1
systeminformation
Root:npm
before 5.23.8-aikido.5
5.23.8-aikido.55.23.8-aikido.6
@rootio/systeminformation
Root:npm
before 5.23.8-root.io.5
5.23.8-root.io.55.23.8-root.io.35.23.8-root.io.45.23.8-root.io.6
jupyterlab
Ubuntu:25.10
All versions, plus listed versions
4.0.11+ds1+~cs11.25.27-54.0.11+ds1+~cs11.25.27-64.0.11+ds1+~cs11.25.27-7
None known
jupyterlab
Ubuntu:26.10
All versions, plus listed versions
4.0.11+ds1+~cs11.25.27-94.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-34.4.10+ds1+~3.1.0+~0.16.6+~cs1.4.4-4
None known
node-systeminformation
Ubuntu:26.10
All versions, plus listed versions
5.31.6-45.31.7-1
None known
jupyterlab
Ubuntu:26.04:LTS
All versions, plus listed versions
4.0.11+ds1+~cs11.25.27-74.0.11+ds1+~cs11.25.27-84.0.11+ds1+~cs11.25.27-9
None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-26280 is a high vulnerability (CVSS 8.4) in Sebhildebrandt Systeminformation, published February 18, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.37%, the 72nd percentile. Fixed in systeminformation 5.30.8.

References

Show 6 moreShow less
MoveEnter Open