---
id: "CVE-2026-100403"
page: "https://infrastack.ai/live/CVE-2026-100403"
kind: "vulnerability"
aliases: ["CVE-2026-100403"]
title: "BACnet Stack: unbounded WebSocket fragment buffer lets a peer exhaust memory"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "package"
products: [{"name": "BACnet Stack", "fixed": [], "affected": "", "ecosystem": "vendor"}]
ecosystems: ["vendor"]
tags: ["bacnet", "bacnet-sc", "c", "embedded", "linux", "package"]
not_affected_if: ["non-hub-deployments"]
published_at: "2026-11-13T19:17:36+00:00"
first_seen_at: "2026-11-13T19:52:09+00:00"
updated_at: "2026-11-13T19:54:08+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-100403", "first_seen_at": "2026-11-13T19:52:09+00:00"}]
exploit_sources: []
---

# BACnet Stack: unbounded WebSocket fragment buffer lets a peer exhaust memory

Link for people: https://infrastack.ai/live/CVE-2026-100403 (this .md is for agents)

The BACnet/SC hub's Linux WebSocket server keeps growing a per-connection buffer for fragmented messages with no upper limit. A remote peer that sends continuation frames without ever setting FIN can exhaust memory and get the process OOM-killed.

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

## Affected

- vendor:BACnet Stack affected range not listed fixed no fixed version listed

## How to check

- Check the BACnet Stack version in use, for example by inspecting the vendored library or `git describe` in the source tree.
- Confirm whether the BACnet/SC hub's Linux WebSocket server is built and running.

## Fix

- Move to `1.4.6`, `1.5.2`, `1.6.1`, or `1.7.0`, depending on the release line in use.

## Timeline

- 2026-11-13T19:52:09+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-100403

## Documents

- [advisory] Vendor advisory: github.com https://github.com/bacnet-stack/bacnet-stack/security/advisories/GHSA-4vgv-v5ph-rmxr

## From the sources

BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to versions 1.4.6, 1.5.2, and 1.6.1, the BACnet/SC hub's Linux WebSocket server reassembles fragmented WebSocket messages into a per-connection fragment_buffer. It grows that buffer with realloc() on every non-final frame, with no upper bound. A peer that streams binary continuation fragments and never sets FIN keeps the hub reallocating until the box runs out of memory or the process is OOM-killed. The buffer starts at the maximum legal BVLC-SC NPDU size, but nothing after that ties its growth back to that limit. This issue has been patched in versions 1.4.6, 1.5.2, 1.6.1, and 1.7.0.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
