BACnet Stack WriteProperty decoding length underflow leads to OOB read and crash
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- High · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to 1.5.0rc4 and 1.4.3rc2, a malformed WriteProperty request can trigger a length underflow in the BACnet stack, leading to an out‑of‑bounds read and a crash (DoS). The issue is in wp.c within wp_decode_service_request. When decoding the optional priority context tag, the code passes apdu_len - apdu_size to bacnet_unsigned_context_decode without validating that apdu_size <= apdu_len. If a truncated APDU reaches this path, apdu_len - apdu_size underflows, resulting in a large size being used for decoding and an out‑of‑bounds read. This vulnerability is fixed in 1.5.0rc4 and 1.4.3rc2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| bacnet-stack | bacnet-stack | 1.5.0rc1 to before 1.5.0rc4; before 1.4.3rc2 | 1.5.0rc4, 1.4.3rc2 | Patch available | CNA |
- bacnet-stack Vendorbacnet-stack Affected 1.5.0rc1 to before 1.5.0rc4; before 1.4.3rc2 Fixed in 1.5.0rc4, 1.4.3rc2 Patch available CNA
CPE configurations NVD · 5
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:* | 1.4.0 to before 1.4.3 | Vulnerable | bacnet-stack |
| cpe:2.3:a:bacnetstack:bacnet_stack:1.4.3:rc1:*:*:*:*:*:* | 1.4.3 rc1 | Vulnerable | bacnet-stack |
| cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc1:*:*:*:*:*:* | 1.5.0 rc1 | Vulnerable | bacnet-stack |
| cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc2:*:*:*:*:*:* | 1.5.0 rc2 | Vulnerable | bacnet-stack |
| cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc3:*:*:*:*:*:* | 1.5.0 rc3 | Vulnerable | bacnet-stack |
- cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:* Versions 1.4.0 to before 1.4.3 Vulnerable ·bacnet-stack
- cpe:2.3:a:bacnetstack:bacnet_stack:1.4.3:rc1:*:*:*:*:*:* Versions 1.4.3 rc1 Vulnerable ·bacnet-stack
- cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc1:*:*:*:*:*:* Versions 1.5.0 rc1 Vulnerable ·bacnet-stack
- cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc2:*:*:*:*:*:* Versions 1.5.0 rc2 Vulnerable ·bacnet-stack
- cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc3:*:*:*:*:*:* Versions 1.5.0 rc3 Vulnerable ·bacnet-stack
Remediation
- Fix · CNA bacnet-stack (bacnet-stack) Fixed in 1.5.0rc4, 1.4.3rc2
Timeline
- 2026-10-02 Threatist record created from CVE-2026-26264
References
More bacnet-stack Bacnet Stack vulnerabilities
- TI-2026-30089 BACnet Stack: Out-of-Bounds Read in ReadPropertyMultiple Property Decoder via Deprecated Tag Parser CVSS 4.0HIGH 8.7
- TI-2026-30088 BACnet Stack: Off-by-One Out-of-Bounds Read in ReadPropertyMultiple Object ID Decoder CVSS 4.0HIGH 8.7
- TI-2026-30063 BACnet Stack: Out-of-Bounds Read in WritePropertyMultiple Decoder via Deprecated Tag Parser CVSS 4.0HIGH 8.7
- TI-2026-17579 BACnet Stack Improperly Limits Pathnames to a Restricted Directory CVSS 3.1HIGH 7.5
- TI-2025-41018 BACnet-stack MS/TP reply matcher OOB read CVSS 3.1HIGH 7.5
- TI-2026-29061 BACnet Stack: Undefined-behavior signed left shift in `decode_signed32()` CVSS 3.1LOW 3.7
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences