Skip to main content

systeminformation CVE-2026-116674

| EUVDEUVD-2026-111104 MEDIUM
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-10-27 GitHub_M GHSA-7648-jmwf-vw7j
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach app forwarding iface parameter
  2. Delivery
    Submit interface name '__proto__'
  3. Exploit
    networkStats writes onto Object.prototype on BSD
  4. Execution
    Seven fixed keys inherited process-wide
  5. Impact
    Corrupt application branching, serialization, or lookups

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

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

Exploitation Conditions

Exploitation requires ALL of: (1) the host runs FreeBSD, OpenBSD, or NetBSD - Linux/Android, macOS, and Windows code paths are incidentally guarded and leave Object.prototype clean; (2) the application passes attacker-controlled input directly as the ifaces argument to si.networkStats() (passing '*', omitting the argument, or using only names from si.networkInterfaces() is unaffected); and (3) the underlying netstat invocation exits successfully, which it does even for an unknown interface. The attacker-supplied name must be '__proto__' (or similar prototype-chain key). Limiting factors beyond the raw CVSS: impact is bounded because only seven fixed property names are written and their values come from interface statistics, not the attacker, so consequences are application-specific name collisions (wrong branching, corrupted for...in serialization/config merging/validation/lookups) rather than arbitrary-key pollution or known RCE. Workarounds per vendor: validate the interface name against si.networkInterfaces() or reject __proto__/constructor/prototype, or never pass untrusted input; upgrading to 5.33.13 is the complete fix.

Impact

This is a moderate, not emergency, priority. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L, base 6.5) shows the network reachability and lack of required privileges or interaction are offset by High attack complexity, and the vuln.today Decision label is 'this_month' rather than act_now/emergency - consistent with a conditionally-reachable prototype-pollution bug. No EPSS score and no KEV listing were provided, so there is no signal of active or widespread exploitation; status is no public exploit confirmed as weaponized. A public PoC reference exists in the GHSA advisory, but it is not verified as a working end-to-end exploit on the affected platforms - the reporter only verified the pollution primitive on macOS and explicitly could not verify BSD end-to-end exploitation. Two independent preconditions sharply limit real-world risk versus the raw score: the host must run FreeBSD, OpenBSD, or NetBSD (Linux, macOS, and Windows are incidentally guarded and not reachable), and the application must forward attacker-controlled input as the interface name to si.networkStats(). The advisory also notes the attacker controls only which of seven fixed property names appear on Object.prototype, not their values, so this is not an arbitrary-key pollution primitive and I:H should be read as the advisory's deliberately conservative default rather than a measurement. Net: patch within the normal maintenance window (this month); it is a real but bounded, deployment-dependent issue, not a drop-everything flaw.

Exploit ScenarioDerived

On a FreeBSD/OpenBSD/NetBSD host, an application forwards an attacker-influenced value (e.g. a request parameter) as the ifaces argument to si.networkStats(). The attacker supplies the interface name '__proto__', causing calcNetworkSpeed() to write seven fixed-name properties (rx_bytes, tx_bytes, rx_sec, tx_sec, ms, last_ms, operstate) onto Object.prototype, polluting every object in the Node.js process. A public PoC reference exists in the GHSA advisory (the pollution primitive was verified on macOS); it is not verified as a working end-to-end exploit on the BSD platforms, and CVSS AC:H reflects that a BSD host plus an app forwarding untrusted input are both required.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Prototype pollution in the npm systeminformation library (versions up to and including 5.33.12) lets unauthenticated remote attackers who control the ifaces argument to networkStats() write seven fixed properties onto Object.prototype, but only on FreeBSD, OpenBSD and NetBSD hosts where the application forwards untrusted input and the underlying netstat call succeeds. The impact is bounded and application-specific: wrong branching, extra enumerable keys in for...in serialization, configuration merging, validation and lookup collisions, with low integrity and availability impact rather than known remote code execution. A public PoC reference exists; it is not verified as working exploit code, and this is assessed as a moderate, not emergency, priority.

RemediationAI

Upgrade to systeminformation 5.33.13, which changes the _network cache to Object.create(null) so __proto__ is stored as an ordinary own property; the fix commit is https://github.com/sebhildebrandt/systeminformation/commit/6ff25a1ebc0b1fdc7a8aa3507e46f22007da2969 and the advisory is https://github.com/sebhildebrandt/systeminformation/security/advisories/GHSA-7648-jmwf-vw7j. If immediate upgrade is not possible, validate the ifaces argument against names returned by si.networkInterfaces() and reject __proto__, constructor and prototype, or never pass untrusted input as the interface name; omitting the argument or passing '*' is unaffected. Freezing Object.prototype also blocks the write but has wide side effects on other dependencies and is not recommended as a general mitigation.

Affected VersionsENISA

systeminformation < 5.33.13

Affected Packages

npm systeminformation fix: 5.33.13

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 system and OS information library. Its lib/network.js module keeps a per-interface cache declared as a plain object (const _network = {}) and indexes it with the caller-supplied interface name after util.sanitizeString(), which is a shell-metacharacter filter for netstat/ifconfig command construction, not an object-key validator. Passing the name __proto__ invokes the inherited Object.prototype getter, so the if (!_network[iface]) guard does not create an own entry and calcNetworkSpeed() writes rx_bytes, tx_bytes, rx_sec, tx_sec, ms, last_ms and operstate onto Object.prototype. This is CWE-1321 prototype pollution with attacker control over which fixed attribute names appear, not their values, which come from interface statistics. The reachable public-API path is limited to FreeBSD, OpenBSD and NetBSD because the calcNetworkSpeed() call sits outside the row-parsing loop and is reached whenever netstat exits successfully, including for an unknown interface; Linux/Android, macOS and Windows branches have incidental guards that return early. The assessed CVSS 3.1 vector is AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L. The fix in 5.33.13 changes the cache to Object.create(null); the same commit also replaces Object.hasOwn checks with {}.hasOwnProperty.call in lib/cpu.js as related hardening.

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 6.5 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L
vuln.today AI 4.8 MEDIUM

AC:H because exploitation needs a BSD host plus an app forwarding untrusted input as the interface name; C:N, and bounded fixed-name pollution with non-attacker-controlled values justifies I:L/A:L over the advisory's conservative I:H.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 27, 2026 - 17:18 EUVD
CVE Published
Oct 27, 2026 - 16:40 cve.org
MEDIUM 6.5

DescriptionCVE.org

systeminformation is a System and OS information library for node.js. Prior to 5.33.13, networkStats(ifaces) in lib/network.js on FreeBSD, OpenBSD, and NetBSD stores per-interface data in the plain-object _network cache and indexes it with the sanitized caller-controlled interface name. Passing proto causes the inherited Object.prototype value to be used instead of creating an own cache entry, so calcNetworkSpeed() writes rx_bytes, tx_bytes, rx_sec, tx_sec, ms, last_ms, and operstate onto Object.prototype. The polluted property names are fixed and their values come from interface statistics, but inherited-name collisions and enumerable keys can corrupt application branching, serialization, configuration merging, validation, or lookup behavior. This issue is fixed in version 5.33.13.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
High
very popular npm system-information library with millions of weekly downloads
Threat Intel
1
1 source
Data Quality
4 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
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-116576 HIGH
7.8 Oct 26

Windows command injection in the systeminformation Node.js library before 5.33.16 lets an attacker who controls the serv

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

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