Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| bacnet-stack | bacnet-stack | < 1.4.6 | — |
| bacnet-stack | bacnet-stack | 1.6.0, < 1.6.1 | — |
| bacnet-stack | bacnet-stack | 1.5.0, < 1.5.2 | — |