fix(deps): update dependency systeminformation to v5.27.14 [security] #12120
+12
−12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
5.23.8→5.27.14Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
GitHub Vulnerability Alerts
CVE-2025-68154
Summary
The
fsSize()function insysteminformationis vulnerable to OS Command Injection (CWE-78) on Windows systems. The optionaldriveparameter is directly concatenated into a PowerShell command without sanitization, allowing arbitrary command execution when user-controlled input reaches this function.Affected Platforms: Windows only
CVSS Breakdown:
fsSize()Details
Vulnerable Code Location
File:
lib/filesystem.js, Line 197The
driveparameter is concatenated directly into the PowerShell command string without any sanitization.Why This Is a Vulnerability
This is inconsistent with the security pattern used elsewhere in the codebase. Other functions properly sanitize user input using
util.sanitizeShellString():lib/processes.jsservices()util.sanitizeShellString(srv)lib/processes.jsprocessLoad()util.sanitizeShellString(proc)lib/network.jsnetworkStats()util.sanitizeShellString(iface)lib/docker.jsdockerContainerStats()util.sanitizeShellString(containerIDs, true)lib/filesystem.jsfsSize()The
sanitizeShellString()function (defined atlib/util.js:731) removes dangerous characters like;,&,|,$,`,#, etc., which would prevent command injection.PoC
Attack Scenario
An application exposes disk information via an API and passes user input to
si.fsSize():Exploitation
Normal Request:
Malicious Request (Command Injection):
Command Construction Demonstration
The following demonstrates how commands are constructed with malicious input:
Normal usage:
With injection payload
C:; whoami #:PowerShell will execute:
Get-WmiObject Win32_logicaldisk | ... | where -property Caption -eq C:(original command)whoami(injected command)#is commented outPoC Script
PoC Output
As shown, the attacker's commands are injected directly into the PowerShell command string.
Impact
Who Is Affected?
systeminformationon Windows that pass user-controlled input tofsSize(drive)Potential Attack Scenarios
Recommended Fix
Apply
util.sanitizeShellString()to thedriveparameter, consistent with other functions in the codebase:if (_windows) { try { + const driveSanitized = drive ? util.sanitizeShellString(drive, true) : ''; - const cmd = `Get-WmiObject Win32_logicaldisk | select Access,Caption,FileSystem,FreeSpace,Size ${drive ? '| where -property Caption -eq ' + drive : ''} | fl`; + const cmd = `Get-WmiObject Win32_logicaldisk | select Access,Caption,FileSystem,FreeSpace,Size ${driveSanitized ? '| where -property Caption -eq ' + driveSanitized : ''} | fl`; util.powerShell(cmd).then((stdout, error) => {The
trueparameter enables strict mode which removes additional characters like spaces and parentheses.systeminformationthanks developers working on the project. The Systeminformation Project hopes this report helps improve the its security. Please systeminformation know if any additional information or clarification is needed.Release Notes
sebhildebrandt/systeminformation (systeminformation)
v5.27.14Compare Source
v5.27.13Compare Source
v5.27.12Compare Source
v5.27.11Compare Source
v5.27.10Compare Source
v5.27.9Compare Source
v5.27.8Compare Source
v5.27.7Compare Source
v5.27.6Compare Source
v5.27.5Compare Source
v5.27.4Compare Source
v5.27.3Compare Source
v5.27.2Compare Source
v5.27.1Compare Source
v5.27.0Compare Source
v5.26.2Compare Source
v5.26.1Compare Source
v5.26.0Compare Source
v5.25.11Compare Source
v5.25.10Compare Source
v5.25.9Compare Source
v5.25.8Compare Source
v5.25.7Compare Source
v5.25.6Compare Source
v5.25.5Compare Source
v5.25.4Compare Source
v5.25.3Compare Source
v5.25.2Compare Source
v5.25.1Compare Source
v5.25.0Compare Source
v5.24.9Compare Source
v5.24.8Compare Source
v5.24.7Compare Source
v5.24.6Compare Source
v5.24.5Compare Source
v5.24.4Compare Source
v5.24.3Compare Source
v5.24.2Compare Source
v5.24.1Compare Source
v5.24.0Compare Source
v5.23.25Compare Source
v5.23.24Compare Source
v5.23.23Compare Source
v5.23.22Compare Source
v5.23.21Compare Source
v5.23.20Compare Source
v5.23.19Compare Source
v5.23.18Compare Source
v5.23.17Compare Source
v5.23.16Compare Source
v5.23.15Compare Source
v5.23.14Compare Source
v5.23.13Compare Source
v5.23.12Compare Source
v5.23.11Compare Source
v5.23.10Compare Source
v5.23.9Compare Source
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.