CVE-2026-26280: 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.
Security readout for executives and security teams
Plain-English summary
This is a high-impact command injection flaw in the Node.js systeminformation library. If an application lets a user influence the network interface passed to wifiNetworks(), that input can reach a retry path unsafely and run commands with the application’s privileges. The fixed version is 5.30.8.
Executive priority
Treat this as a priority dependency update where systeminformation is present in production or endpoint tooling. Business urgency is highest when untrusted users can influence network interface selection, because successful exploitation could run code as the Node.js process.
Technical view
systeminformation before 5.30.8 sanitizes the iface parameter on the initial wifiNetworks() scan, but the empty-result retry reuses the original unsanitized iface. That value is passed into an OS wifi scan command path, creating CWE-78 command injection when iface is user-controlled.
Likely exposure
Exposure is likely in Node.js services, agents, dashboards, or local tools that depend on systeminformation <5.30.8 and pass user-controlled interface names into si.wifiNetworks(). Systems that never call wifiNetworks(), or only use trusted fixed interface values, have lower practical exposure.
Exploitation context
The source bundle does not report active exploitation, and KEV is false. Exploitation depends on reaching an application path that calls wifiNetworks() with attacker-controlled iface input, especially when the first scan returns no results and the retry path runs.
Researcher notes
The vulnerable behavior is specific to wifi.js retry handling after an empty initial scan. The evidence names arbitrary command execution and patch version 5.30.8, but the bundle does not include exploit-in-the-wild evidence or downstream affected package conclusions.
Mitigation direction
Upgrade systeminformation to version 5.30.8 or later.
Rebuild and redeploy services so lockfiles and runtime packages use the fixed version.
Remove user control over iface values passed to wifiNetworks().
Validate iface against a strict allowlist of expected interface names.
Check vendor advisories and downstream distribution guidance for packaged copies.
Validation and detection
Inventory package manifests, lockfiles, containers, and SBOMs for systeminformation versions below 5.30.8.
Search application code for si.wifiNetworks() and iface parameters sourced from requests or user input.
Confirm deployed runtimes load systeminformation 5.30.8 or later.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-78: Command execution behavior lookup
Command injection weaknesses can lead defenders to review execution techniques and command interpreter telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
2ADP providers
6Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-78 · source CWE mapping
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.