CVE-2026-41503: BACnet Stack: Out-of-Bounds Read in ReadPropertyMultiple Property Decoder via Deprecated Tag Parser
BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to 1.4.3, an out-of-bounds read vulnerability in bacnet-stack's ReadPropertyMultiple service property decoder allows unauthenticated remote attackers to read past allocated buffer boundaries by sending an RPM request with a truncated property list. The vulnerability stems from rpmdecodeobjectproperty() calling the deprecated decodetagnumberandvalue() function at src/bacnet/rpm.c:344, which accepts no buffer length parameter and reads blindly from whatever pointer it receives. A crafted BACnet/IP packet with a 1-byte property payload containing an extended tag marker (0xF9) causes the decoder to read 1 byte past the end of the buffer, leading to crashes on embedded BACnet devices. The vulnerability exists in src/bacnet/rpm.c and affects any deployment that enables the ReadPropertyMultiple confirmed service handler (enabled by default in the reference server). This vulnerability is fixed in 1.4.3.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-41503?
CVE-2026-41503 is categorized as a high-severity vulnerability due to the potential for out-of-bounds reads.
How do I fix CVE-2026-41503?
To fix CVE-2026-41503, update the BACnet Stack to version 1.4.3 or later.
What systems are affected by CVE-2026-41503?
CVE-2026-41503 affects versions of the BACnet Stack prior to 1.4.3.
What type of vulnerability is CVE-2026-41503?
CVE-2026-41503 is an out-of-bounds read vulnerability related to the ReadPropertyMultiple service.
Who is responsible for the BACnet Stack vulnerability CVE-2026-41503?
The vulnerability CVE-2026-41503 is associated with the BACnet Stack open source protocol stack maintained by its contributors.