Skip to main content
← All vulnerabilities
CVE-2026-116674EUVD-2026-111104GHSA-7648-JMWF-VW7J

systeminformation: Prototype pollution in `networkStats()` via the interface name

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.33.13
None on Exploit-DB, Metasploit or GitHub

Summary

The systeminformation Node.js library is affected on FreeBSD, OpenBSD, and NetBSD systems when its network statistics function is called with a crafted interface name. An attacker who controls that name can pollute the JavaScript object prototype, which can corrupt application logic, data serialization, configuration merging, or validation in software that uses the library.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original 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.

Timeline

  1. CVE published
  2. First seen by cve.now

Affected versions

  • sebhildebrandt systeminformation

    fixed in 5.33.13

  • systeminformationnpm

    fixed in 5.33.13

References 3

GitHub · sebhildebrandt/systeminformation