BACnet Stack: Undefined-behavior signed left shift in `decode_signed32()`
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| bacnet-stack | bacnet-stack | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Bacnetstack | Bacnet Stack |
|
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.242% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:* |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Bacnetstack
Bacnetstack bacnet Stack |
|
| Vendors & Products |
Bacnetstack
Bacnetstack bacnet Stack |
| 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
|