Bug 2561068 (CVE-2026-116576)

Summary: CVE-2026-116576 systeminformation: systeminformation: Command injection via improper quotation mark sanitization
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: aazores, abarbaro, alizardo, cmah, dschmidt, eaguilar, ebaron, gparvin, jbalunas, jchui, jhe, jlanda, jmatsuok, jtolenti, kshier, ktsao, nboldt, oaljalju, pjindal, psrna, rbobbitt, rhaigner, simaishi, stcannon, tsze, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in systeminformation. On Windows systems, the library's input sanitization removes standard quotation marks but fails to filter Unicode quotation marks when constructing PowerShell commands. An attacker who can supply input to an application using this library can exploit this flaw to break out of the intended command context and execute arbitrary commands with the privileges of the running Node.js process. This can lead to unauthorized data access, system modification, or service disruption.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OSIDB Bzimport 2026-10-26 20:31:55 UTC
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.