Skip to main content

systeminformation CVE-2026-116576

| EUVDEUVD-2026-110317 HIGH
OS Command Injection (CWE-78)
2026-10-26 GitHub_M GHSA-3f7j-7jwc-fxfj
7.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Supply crafted service name to app
  2. Delivery
    App forwards value to services()
  3. Exploit
    Unicode quotes break out of PowerShell filter
  4. Execution
    PowerShell expression runs as Node account
  5. Impact
    Read/modify files or disrupt service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Windows-only: the injection lives in the Windows branch of services() that builds a Get-CimInstance Win32_Service -Filter command and runs it via util.powerShell(); Linux/macOS are unaffected. The attacker must be able to control the service-name string passed to services() or to getDynamicData(), and a consuming application must forward that attacker-controlled input to the API because the package exposes no network service of its own. The specific trigger is supplying Unicode curly double quotes (U+201C/U+201D) - which the default, non-strict sanitizer leaves intact along with spaces and parentheses - to close the filter string and inject a PowerShell expression. Limiting factors: no built-in network exposure (remote reach is entirely a property of the downstream app), Windows platform required, versions <5.33.16 only, and resulting privileges are capped at whatever account the Node.js process runs under.

Impact

Signals point to a genuine but bounded risk rather than an emergency. The CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N, C:H/I:H/A:H, 7.8) reflects a local-input command-injection yielding full read/write/availability impact under the Node.js process account, not a directly network-reachable flaw. The library exposes no network service, so remote exploitation is not intrinsic - the reporter explicitly could not find a network route in the repository and states remote reachability depends on a consuming application forwarding attacker-controlled input to services()/getDynamicData(). EPSS is very low (0.14%, 4th percentile) and the CVE is not listed in CISA KEV, so there is no evidence of active or widespread exploitation; this is consistent with a vulnerability whose exploitability is contingent on how downstream applications wire untrusted input. Against that, a concrete working proof-of-concept is published in the GHSA advisory and was reproduced by the reporter on Windows, and the vuln.today decision label is 'this_week', so it warrants prompt patching rather than deferral. Net: a real but conditional, Windows-only, operator/deployment-dependent issue - treat it as a this-week patch, not a drop-everything event. Note the apparent AV:L vs. 'could be made network-reachable' tension is resolved by the evidence: the package itself is local, and any network exposure comes from the consumer, not systeminformation.

Exploit ScenarioDerived

A Windows application built on systeminformation (<5.33.16) passes a user- or request-supplied service name to services(). An attacker submits a name containing Unicode curly quotation marks (U+201C/U+201D) plus a PowerShell expression; the default sanitizer strips ASCII quotes but leaves the Unicode quotes, so the input terminates the Get-CimInstance -Filter string and the attacker's expression executes as the Node.js process account. A working PoC that creates a marker file via New-Item is published in the GHSA advisory and was reproduced by the reporter on Windows.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Windows command injection in the systeminformation Node.js library before 5.33.16 lets an attacker who controls the service-name argument to services() run arbitrary PowerShell expressions with the Node.js process account's privileges. The flaw is in the Windows-only branch that builds a Get-CimInstance Win32_Service -Filter command; a downstream application must forward attacker-controlled input to services() or getDynamicData() because the package exposes no network service itself. The advisory includes a proof of concept that the reporter reproduced on Windows, but EPSS is low at 0.14% (4th percentile) and there is no CISA KEV listing, so risk is genuine but bounded rather than an emergency.

RemediationAI

Upgrade to systeminformation 5.33.16 or later; the vendor-released patch is version 5.33.16 (release tag v5.33.16, commit 5014c6d25cfce7363b937977327baa853cdba0bf, advisory GHSA-3f7j-7jwc-fxfj at https://github.com/sebhildebrandt/systeminformation/security/advisories/GHSA-3f7j-7jwc-fxfj). The fix extends sanitizeShellString to remove Unicode quotation marks and dashes and restricts Windows service names to an allowlist of characters. If upgrading immediately is not possible, avoid passing untrusted input to services() or getDynamicData() on Windows and enforce a strict allowlist of expected service names in the consuming application before calling the library; run the Node.js process under a least-privileged account because injected commands execute with that account's permissions. The vendor's security documentation already warns that sanitization does not cover every case for arbitrary untrusted input to services().

Affected VersionsENISA

systeminformation < 5.33.16

Affected Packages

npm systeminformation fix: 5.33.16

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

systeminformation is a Node.js library that gathers OS and hardware details. In lib/processes.js, services() sanitizes the caller's service-name string with sanitizeShellString() from lib/util.js and inserts it into a PowerShell Get-CimInstance Win32_Service -Filter command executed through util.powerShell(). The root cause is CWE-78 (improper neutralization of special elements used in an OS command): the default, non-strict sanitizer strips ASCII double quotes but leaves U+201C and U+201D, spaces, and parentheses intact, and PowerShell accepts the Unicode curly quotes as string delimiters. That lets crafted input close the filter string and append a PowerShell expression. The vulnerable path is Windows-only; Linux and macOS are unaffected, and the privileges obtained are capped by the account running the Node.js process. The CVSS 3.1 vector is AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, reflecting a local attack with low privileges and no user interaction; remote reachability is not inherent to the package and depends on a consuming application forwarding untrusted data.

Know when Systeminformation gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

Local library input with no network service of its own (AV:L); trivial, fully-described Unicode-quote trigger (AC:L); attacker must supply input to the application (PR:L); arbitrary command execution as the Node account gives C:H/I:H/A:H.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 7.8 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 26, 2026 - 21:03 EUVD
CVE Published
Oct 26, 2026 - 20:18 cve.org
HIGH 7.8

DescriptionCVE.org

systeminformation is a System and OS information library for node.js. Prior to 5.33.16, services() in lib/processes.js inserts a caller-supplied service name into a PowerShell Get-CimInstance filter after processing it with sanitizeShellString() in lib/util.js. On Windows, the sanitizer removes ASCII quotes but permits Unicode quotation marks that PowerShell accepts as string delimiters, allowing crafted input to terminate the filter and place a PowerShell expression in the command executed by util.powerShell(). The expression runs with the Node.js process account's permissions and may read or change accessible files, alter application data, or disrupt the service. The package does not expose a network service itself, so remote reachability depends on a consuming application forwarding attacker-controlled input to services() or getDynamicData(). This issue is fixed in version 5.33.16.

Executive ViewAI

Why It Matters

CVE-2026-116576 is a high-severity command injection vulnerability in the systeminformation Node.js library (versions before 5.33.16) that allows an attacker to execute arbitrary PowerShell commands on Windows hosts, but only if a downstream application passes untrusted input to the vulnerable services() function. This means products built on this library could be compromised if they expose service-name parameters to users, potentially leading to full system compromise under the Node.js process account. Leadership should care because any internal or customer-facing application using the affected library and forwarding user-controlled input could become an attack vector, though the risk is currently bounded by the low EPSS score (0.1%) and lack of confirmed active exploitation.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
High
very widely used Node.js system-information library, millions of weekly npm downloads
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

CVE-2026-26318 HIGH POC
8.8 Feb 19

Command injection in systeminformation versions before 5.31.0 allows local attackers with user privileges to execute arb

CVE-2020-7752 HIGH POC
8.8 Oct 26

This affects the package systeminformation before 4.27.11. Rated high severity (CVSS 8.8), this vulnerability is remotel

CVE-2025-68154 HIGH POC
8.1 Dec 16

OS command injection in the systeminformation Node.js library on Windows allows arbitrary PowerShell command execution w

CVE-2026-26280 HIGH POC
7.8 Feb 19

Command injection in the systeminformation Node.js library (versions prior to 5.30.8) lets attackers run arbitrary OS co

CVE-2021-21315 HIGH POC
7.8 Feb 16

The System Information Library for Node.JS (npm package "systeminformation") is an open source collection of functions t

CVE-2020-7778 HIGH POC
7.3 Nov 26

This affects the package systeminformation before 4.30.2. Rated high severity (CVSS 7.3), this vulnerability is remotely

CVE-2023-42810 CRITICAL
9.8 Sep 21

systeminformation is a System Information Library for Node.JS. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2021-21388 CRITICAL
9.8 Apr 29

systeminformation is an open source system and OS information library for node.js. Rated critical severity (CVSS 9.8), t

CVE-2020-26245 CRITICAL
9.8 Nov 27

npm package systeminformation before version 4.30.5 is vulnerable to Prototype Pollution leading to Command Injection. R

CVE-2020-26274 HIGH
8.8 Dec 16

In systeminformation (npm package) before version 4.31.1 there is a command injection vulnerability. Rated high severity

CVE-2026-116674 MEDIUM
6.5 Oct 27

Prototype pollution in the npm systeminformation library (versions up to and including 5.33.12) lets unauthenticated rem

CVE-2026-116673 LOW
3.3 Oct 27

Path traversal in the Linux networkStats() implementation of systeminformation before 5.33.14 allows a caller who contro

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy