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.
Metrics
Affected Vendors & Products
References
History
Tue, 21 Apr 2026 17:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Bacnetstack
Bacnetstack bacnet Stack |
|
| Vendors & Products |
Bacnetstack
Bacnetstack bacnet Stack |
Tue, 21 Apr 2026 16:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | BACnet Stack: Undefined-behavior signed left shift in `decode_signed32()` | |
| Weaknesses | CWE-758 | |
| References |
| |
| Metrics |
cvssV3_1
|
Status: PUBLISHED
Assigner: GitHub_M
Published:
Updated: 2026-04-21T16:29:16.125Z
Reserved: 2026-04-10T20:22:44.034Z
Link: CVE-2026-40279
No data.
Status : Received
Published: 2026-04-21T17:16:54.853
Modified: 2026-04-21T17:16:54.853
Link: CVE-2026-40279
No data.
OpenCVE Enrichment
Updated: 2026-04-21T17:30:37Z