BACnet-stack MS/TP reply matcher OOB read
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-125 and the CVSS impact.
Summary
BACnet Protocol Stack library provides a BACnet application layer, network layer and media access (MAC) layer communications services. Prior to 1.5.0.rc2, The npdu_is_expected_reply function in src/bacnet/npdu.c indexes request_pdu[offset+2/3/5] and reply_pdu[offset+1/2/4] without verifying that those APDU bytes exist. bacnet_npdu_decode() can return offset == 2 for a 2-byte NPDU, so tiny PDUs pass the version check and then get read out of bounds. On ASan/MPU/strict builds this is an immediate crash (DoS). On unprotected builds it is undefined behavior and can mis-route replies; RCE is unlikely because only reads occur, but DoS is reliable.
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 | before 1.5.0.rc2 | 1.5.0.rc2 | Patch available | CNA |
- bacnet-stack Vendorbacnet-stack Affected before 1.5.0.rc2 Fixed in 1.5.0.rc2 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| 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:rc1:*:*:*:*:*:* Versions 1.5.0 rc1 Vulnerable ·bacnet-stack
Remediation
- Fix · CNA bacnet-stack (bacnet-stack) Fixed in 1.5.0.rc2
Timeline
- 2026-10-02 Threatist record created from CVE-2025-66624
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-21234 BACnet Stack WriteProperty decoding length underflow leads to OOB read and crash CVSS 4.0HIGH 7.8
- TI-2026-17579 BACnet Stack Improperly Limits Pathnames to a Restricted Directory 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