CVE-2026-50289: sebhildebrandt systeminformation OS command injection in networkInterfaces

CVE-2026-50289 · Severity: high · CVSS 4 · Published 2026-07-17

systeminformation is a Node.js library that collects system and network information. The networkInterfaces() function on Linux is vulnerable to OS command injection through the Debian/Ubuntu network interfaces configuration file. An attacker who can write or influence entries in /etc/network/interfaces can execute arbitrary commands with the privileges of the Node.js process calling this function—a serious risk for system monitoring agents, inventory tools, or admin dashboards that commonly use elevated privileges.

Technologies: systeminformation (npm). Vendors: npm.

Quick answers

Is CVE-2026-50289 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-50289 being exploited in the wild.
How severe is CVE-2026-50289?
High severity, with a CVSS score of 4, published 17 July 2026.
Which products and versions are affected?
systeminformation (npm) <= 5.31.6, SEMVER:introduced=0,fixed=5.31.7.
Is there a fix for CVE-2026-50289?
Yes. systeminformation (npm): upgrade to 5.31.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-50289 attacked?
It is attacked over the network or with local access, in a software library.
Am I affected by CVE-2026-50289?
Check whether you run systeminformation (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • systeminformation (npm): upgrade to 5.31.7 or later
    npm install systeminformation@5.31.7

Technical details

The vulnerability exists in lib/network.js, specifically in the checkLinuxDCHPInterfaces() function, which parses /etc/network/interfaces to collect DHCP interface information. The function reads "source &lt;path&gt;" directives and recursively processes sourced files, but fails to escape the path token before interpolating it into a shell command passed to execSync(). The vulnerable code executes: `cat ${file} 2&gt; /dev/null | grep 'iface\|source'` where ${file} comes from file content with no sanitization. An attacker can inject shell metacharacters (semicolons, command substitution, pipes, etc.) into any path within the source chain, achieving arbitrary command execution. The attack precondition is write access to /etc/network/interfaces or any file it sources, achievable by lower-privileged processes, configuration-management tools, or external inputs that materialize interfaces snippets. networkInterfaces() is a core, frequently-called API also reachable via getStaticData() and getAllData(), ensuring widespread exploitation on affected deployments. A patch in version 5.31.7 converts the unquoted interpolation to argument-array execution, preventing shell interpretation.

Affected products

  • sebhildebrandt systeminformation &lt;= 5.31.6

Identifiers

  • CVE-2026-50289
  • GHSA-5xpp-75jx-m839

Timeline

  • 2026-07-15: disclosed: GHSA-5xpp-75jx-m839 published
  • 2026-07-15: patched: Fix released in version 5.31.7
  • 2026-06-05: other: Advisory created on GitHub
  • 2026-09-10: other: Advisory modified

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.