[ CVE-2026-116674 · Published 27 Oct 2026 ]
systeminformation has prototype pollution in `networkStats()` via the interface name
[ Why it matters ]Priority signals
- Public proof-of-concept exploit exists (CISA SSVC)
[ Description ]Official description
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.
[ Fixes ]Fixes and patches
- systeminformation 5.33.13Fixed version · GitHub Advisories · npm package systeminformation: upgrade to 5.33.13 or later (affected < 5.33.13)
[ Packages ]Affected open-source packages
- systeminformation npmAffected < 5.33.13 · fixed in 5.33.13 · GHSA-7648-jmwf-vw7j