---
id: "CVE-2026-116674"
kind: "vulnerability"
aliases: ["CVE-2026-116674"]
title: "systeminformation: interface name 'proto' pollutes Object.prototype on BSD"
severity: "medium"
cvss: 6.5
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["freebsd", "netbsd", "node.js", "openbsd", "package", "systeminformation"]
not_affected_if: ["already-on-5.33.13", "linux-or-macos-or-windows", "no-networkstats-call"]
published_at: "2026-10-27T17:16:59+00:00"
first_seen_at: "2026-10-27T17:32:46+00:00"
updated_at: "2026-10-27T17:34:48+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116674", "first_seen_at": "2026-10-27T17:32:46+00:00"}]
---

# systeminformation: interface name 'proto' pollutes Object.prototype on BSD

On FreeBSD, OpenBSD and NetBSD, calling networkStats with an interface named proto writes network statistics onto Object.prototype in the systeminformation Node.js library. This can corrupt application logic that relies on object properties, such as branching, serialization, config merging or validation.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `npm ls systeminformation` to find the installed version in each project.
- Check whether the app calls `networkStats` and runs on FreeBSD, OpenBSD or NetBSD.

## Fix

- Upgrade `systeminformation` to `5.33.13` or later.

## Timeline

- 2026-10-27T17:32:46+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116674

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
