Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local filesystem write access
-
DeliveryCreate directory with symlinked statistics files
-
ExploitPass '../'-traversal iface to networkStats()
-
ExecutionLibrary follows symlink reading operstate path
-
ImpactDisclose first line of privileged file
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation is specific to the Linux networkStats() code path in systeminformation < 5.33.14; Windows and macOS implementations are not described as affected. Concrete prerequisites: (1) a consuming application must call networkStats(iface) with an attacker-controlled iface value - the package exposes no network endpoint, so untrusted input must reach the API through the host app; (2) the attacker must have local filesystem write access to create a directory containing symlinked statistics files (rx_bytes, tx_bytes, etc.) plus an 'operstate' symlink pointing at the target file; and (3) the iface value must contain '../' parent-directory components to escape /sys/class/net. Limiting factors: local access is required (no remote vector demonstrated), the Node.js process must itself be able to read the target file (the value is privilege-boundary crossing only when a higher-privileged process runs the call), and only the first line of the target file is disclosed. Complete fix is upgrading to >= 5.33.14, which rejects iface values that are not a single path segment. |
| Impact | All signals point to a low-priority, locally-constrained issue despite the library's popularity. The CVSS base score is 3.3 (Low) with vector AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N: exploitation is local, requires some privilege (PR:L), and yields only limited confidentiality impact (C:L) - disclosure of the first line of a file readable by the Node.js process, with no integrity or availability impact. The vuln.today Decision label is 'monitor', consistent with the low score. No EPSS score and no KEV listing were provided in the input, so there is no evidence of active or widespread exploitation; status is therefore 'no public exploit identified' in KEV terms, but note that the GHSA advisory DOES embed a complete, working proof-of-concept with expected output, so working exploit code is publicly available at the research level. The key tension is between the package's large deployment footprint and its very narrow exploitability: systeminformation is a library with no network endpoint, and the reporter explicitly states they did not establish a consuming-application route that forwards remote attacker input to networkStats() and returns its result - so remote exploitability is NOT demonstrated. This is a genuine but low-urgency bug: patch as a routine dependency bump, not an emergency. |
| Exploit ScenarioDerived | On a Linux host, a local low-privileged user who can write to a filesystem location and influence the iface argument passed to networkStats() by a higher-privileged Node.js process plants a fixture directory whose 'operstate' entry is a symlink to a sensitive file (e.g. a root-only file), then supplies a '../'-laden iface value so the library resolves out of /sys/class/net and follows the symlink. The library returns the first line of that file to the caller, crossing a privilege boundary (the GHSA PoC shows a file unreadable by 'nobody' being disclosed via the root process). A complete working PoC with expected output is published in the GHSA advisory; exploitation nonetheless requires local filesystem setup and an application path that forwards attacker-controlled input to the API. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Path traversal in the Linux networkStats() implementation of systeminformation before 5.33.14 allows a caller who controls the iface value, together with a locally planted directory of symlinked statistics files, to disclose the first line of any file readable by the Node.js process. The package exposes no network endpoint, so reaching the vulnerable path requires local filesystem write access or a consuming application that forwards untrusted input into networkStats(); the demonstrated impact is limited to a single line of a readable file, and the Windows and macOS implementations are not described as affected. A public proof-of-concept reference is included in the GitHub advisory; it is not verified as working exploit code, and no active exploitation is indicated.
RemediationAI
Vendor-released patch: upgrade systeminformation to 5.33.14 or later, which rejects iface values that are not a single path segment; the release notes and advisory are at https://github.com/sebhildebrandt/systeminformation/releases/tag/v5.33.14 and https://github.com/sebhildebrandt/systeminformation/security/advisories/GHSA-4vjg-vx72-qq4g . Until upgrading, do not pass caller- or user-supplied values into networkStats(iface); validate iface against a strict allowlist of known interface names (for example those returned by the library's own networkInterfaces() or os.networkInterfaces()), rejecting any value containing '/', '.', or '..'. Where untrusted input cannot be avoided, run the Node.js process with the least privilege necessary so that it cannot read sensitive files, accepting that this reduces but does not remove the disclosure path. Updating is the vendor's stated complete fix.
Affected VersionsENISA
Affected Packages
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
On Linux, systeminformation reads interface statistics from sysfs by building paths such as /sys/class/net/<iface> and /sys/class/net/<iface>/statistics/rx_bytes, and by checking existence with fs.existsSync('/sys/class/net/' + iface). The input sanitizer removes shell metacharacters but retains '/' and '.', and the code did not verify that the value was a single interface-name segment or that the resolved path stayed under /sys/class/net. Both fs.existsSync() and the subsequent cat-style reads follow '..' components and symlinks, so a crafted iface such as a repeated '../' sequence combined with an attacker-prepared directory containing symlinked statistics files and an 'operstate' symlink can redirect reads outside sysfs. This is CWE-22 path traversal with a CWE-59 link-following component; the fix in 5.33.14 rejects iface values that are empty, '.', '..', or contain '/', enforcing single-segment containment.
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
AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Requires local filesystem write access to plant symlink fixtures plus control of the iface argument, so AV:L and PR:L; only the first line of a readable file leaks, so C:L and I/A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
systeminformation is a System and OS information library for node.js. Prior to 5.33.14, the Linux networkStats(iface) implementation uses the caller-supplied interface value in an fs.existsSync() check and to build /sys/class/net/<iface> paths, including the operstate path, without verifying that it is a single interface-name segment or that the resolved path remains under /sys/class/net. An attacker who can control iface and create a directory containing symlinked statistics files can use parent-directory components and symlink traversal to make the API return the first line of a file readable by the Node.js process. The package does not expose a network endpoint, and the demonstrated scenario requires local filesystem setup. This issue is fixed in version 5.33.14.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
More in Systeminformation
View allCommand injection in systeminformation versions before 5.31.0 allows local attackers with user privileges to execute arb
This affects the package systeminformation before 4.27.11. Rated high severity (CVSS 8.8), this vulnerability is remotel
OS command injection in the systeminformation Node.js library on Windows allows arbitrary PowerShell command execution w
Command injection in the systeminformation Node.js library (versions prior to 5.30.8) lets attackers run arbitrary OS co
The System Information Library for Node.JS (npm package "systeminformation") is an open source collection of functions t
This affects the package systeminformation before 4.30.2. Rated high severity (CVSS 7.3), this vulnerability is remotely
systeminformation is a System Information Library for Node.JS. Rated critical severity (CVSS 9.8), this vulnerability is
systeminformation is an open source system and OS information library for node.js. Rated critical severity (CVSS 9.8), t
npm package systeminformation before version 4.30.5 is vulnerable to Prototype Pollution leading to Command Injection. R
In systeminformation (npm package) before version 4.31.1 there is a command injection vulnerability. Rated high severity
Windows command injection in the systeminformation Node.js library before 5.33.16 lets an attacker who controls the serv
Prototype pollution in the npm systeminformation library (versions up to and including 5.33.12) lets unauthenticated rem
EUVD-2026-111101
GHSA-4vjg-vx72-qq4g
NVD
CVE.org
EPSS
Exploit-DB