Read the docs
TI-2026-29061 Aliases CVE-2026-40279

BACnet Stack: Undefined-behavior signed left shift in `decode_signed32()`

Priority MEDIUM 51CWE-758Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
—
Confidentiality · integrity · availability
None · None · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA.

Summary

BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to 1.4.3, decode_signed32() in src/bacnet/bacint.c reconstructs a 32-bit signed integer from four APDU bytes using signed left shifts. When any of the four bytes has bit 7 set (value ≥ 0x80), the left-shift operation overflows a signed int32_t, which is undefined behavior per the C standard. This is flagged thousands of times per minute by UndefinedBehaviorSanitizer on any BACnet input containing signed-integer property values with high-bit-set bytes. This vulnerability is fixed in 1.4.3.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00242 15th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed bacnet-stack (bacnet-stack): 1.4.3

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
bacnet-stackbacnet-stackbefore 1.4.31.4.3Patch availableCNA
  • bacnet-stack Vendorbacnet-stack Affected before 1.4.3 Fixed in 1.4.3 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:*before 1.4.3Vulnerablebacnet-stack
  • cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:* Versions before 1.4.3 Vulnerable ·bacnet-stack

Remediation

  • Fix · CNA bacnet-stack (bacnet-stack) Fixed in 1.4.3

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-40279

References

  • 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-2025-41018 BACnet-stack MS/TP reply matcher OOB read CVSS 3.1HIGH 7.5
See all 8 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences