{"id":"CVE-2026-116674","kind":"vulnerability","aliases":["CVE-2026-116674"],"related":[],"title":"systeminformation: interface name 'proto' pollutes Object.prototype on BSD","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.","summary":"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.","severity":"medium","cvss":6.5,"epss":null,"exploited":false,"exploited_at":null,"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"],"how_to_check":"- Run `npm ls systeminformation` to find the installed version in each project.\n- Check whether the app calls `networkStats` and runs on FreeBSD, OpenBSD or NetBSD.","fix":"- Upgrade `systeminformation` to `5.33.13` or later.","status":"open","published_at":"2026-10-27T17:16:59+00:00","first_seen_at":"2026-10-27T17:32:46+00:00","triaged_at":"2026-10-27T17:34:48+00:00","updated_at":"2026-10-27T17:34:48+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-27T17:34:48Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade `systeminformation` to `5.33.13` or later.","reach":"local","title":"systeminformation: interface name 'proto' pollutes Object.prototype on BSD","impact":"medium","summary":"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.","category":"package","nicknames":[],"who_cares":["node.js","systeminformation","freebsd","openbsd","netbsd"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Object.prototype is polluted, corrupting application logic and behavior","analyst_note":"","how_to_check":"- Run `npm ls systeminformation` to find the installed version in each project.\n- Check whether the app calls `networkStats` and runs on FreeBSD, OpenBSD or NetBSD.","needs_analyst":false,"not_affected_if":["linux-or-macos-or-windows","no-networkstats-call","already-on-5.33.13"],"who_is_affected":"Node.js applications that use the systeminformation package to read network statistics on FreeBSD, OpenBSD or NetBSD, and that pass caller-controlled interface names to networkStats. Linux, macOS and Windows hosts are not described as affected, and apps that do not call networkStats with external input are less exposed.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000623,"input_tokens":3479,"output_tokens":550,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-116674':11A,14A '-2026':10A,13A '5.33.13':73C,179C 'applic':46B,164C 'behavior':172C 'branch':55B,165C 'bsd':8A 'byte':127C,129C 'cach':94C,121C 'calcnetworkspe':124C 'call':26B 'caller':102C 'caller-control':101C 'caus':108C 'collis':158C 'come':150C 'config':57B 'configur':167C 'control':103C 'corrupt':45B,163C 'creat':118C 'cve':9A,12A 'data':87C 'entri':122C 'enumer':160C 'fix':146C,176C 'freebsd':15B,22B,79C 'ifac':75C 'index':96C 'inform':67C 'inherit':110C,156C 'inherited-nam':155C 'instead':116C 'interfac':2A,30B,86C,104C,152C 'issu':174C 'key':161C 'last':135C 'lib/network.js':77C 'librari':42B,68C 'logic':47B 'lookup':171C 'merg':58B,168C 'ms':134C,136C 'name':3A,31B,105C,144C,157C 'netbsd':16B,25B,82C 'network':34B,93C 'networkstat':27B,74C 'node.js':17B,41B,70C 'object':51B,92C 'object.prototype':6A,37B,111C,140C 'onto':36B,139C 'openbsd':18B,23B,80C 'operst':138C 'os':66C 'packag':19B 'pass':106C 'per':85C 'per-interfac':84C 'plain':91C 'plain-object':90C 'pollut':5A,142C 'prior':71C 'properti':52B,143C 'proto':4A,32B,107C 'reli':49B 'rx':126C,130C 'sanit':100C 'sec':131C,133C 'serial':56B,166C 'statist':35B,153C 'store':83C 'system':64C 'systeminform':1A,20B,40B,61C 'tx':128C,132C 'use':115C 'valid':60B,169C 'valu':112C,149C 'version':178C 'write':33B,125C","nicknames":[],"mitigations":[],"who_affected":"Node.js applications that use the systeminformation package to read network statistics on FreeBSD, OpenBSD or NetBSD, and that pass caller-controlled interface names to networkStats. Linux, macOS and Windows hosts are not described as affected, and apps that do not call networkStats with external input are less exposed.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-27T17:16:59+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116674","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116674","severity":null,"published_at":"2026-10-27T17:16:59+00:00","modified_at":"2026-10-27T17:16:59+00:00","first_seen_at":"2026-10-27T17:32:46+00:00","fetched_at":"2026-10-27T17:32:46+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}