CVE-2026-40279

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

LOW
3.7
CVSS Score
Published: April 21, 2026 at 04:29 PM UTC
Updated: June 17, 2026 at 10:44 AM UTC
1 product affected across 1 vendorBacnet Stack

Using bacnet-stack by bacnet-stack?

Get instant alerts when new vulnerabilities affect bacnet-stack - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
LOW3.7
Exploit prediction
EPSS 0.2%
SSVC
PoC

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 1.4.3
Affected range stops below 1.4.3, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

References (1)

x_refsource_CONFIRMExploitMitigationVendor Advisory
Source: cverecord
https://github.com/bacnet-stack/bacnet-stack/security/advisories/GHSA-326g-j95f-gmxv

SSVC — Action Prioritization

SSVCPoCNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

3.7LOWGitHub_M
Attack Vector
NETWORK
Complexity
HIGH
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
LOW
Vector?

Quick Info

StatusANALYZED
CWE
CWE-758

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card