Description
BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to 1.4.3, an off-by-one out-of-bounds read vulnerability in bacnet-stack's ReadPropertyMultiple service decoder allows unauthenticated remote attackers to read one byte past an allocated buffer boundary by sending a crafted RPM request with a truncated object identifier. The vulnerability is in rpm_decode_object_id(), which checks apdu_len < 5 but then accesses all 6 byte positions (indices 0-5) — consuming 1 byte for the context tag, 4 bytes for the object ID, then reading apdu[5] for the opening tag check. A 5-byte input passes the length check but causes a 1-byte OOB read, 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.
Published: 2026-04-24
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Out-of-Bounds Read (Potential Crash and Denial of Service)
Action: Apply Patch
AI Analysis

Impact

BACnet Stack contains an off-by-one error in the rpm_decode_object_id function used to parse the ReadPropertyMultiple service. The function permits a 5‑byte payload, but then reads the sixth byte, yielding a single out‑of‑bounds read that can crash the process. The vulnerability is unauthenticated and remote, allowing an attacker to send a crafted BACnet request from any network location to trigger the crash. The impact is primarily a denial‑of‑service; the read only exposes a single byte, making exploitation of higher‑level weaknesses unlikely without additional information. The known weakness types are CWE‑125 (Out‑of‑Bounds Read) and CWE‑193 (Off‑by‑One Error).

Affected Systems

Any deployment of bacnet-stack before version 1.4.3 that has the ReadPropertyMultiple confirmed service handler enabled, which is the default in the reference server. The stack is commonly used in embedded BACnet devices, making embedded controllers and building automation equipment potential targets.

Risk and Exploitability

The CVSS score of 8.7 reflects high severity, and the EPSS score of less than 1% indicates a low but non‑zero probability of exploitation. The vulnerability is not listed in CISA’s Known Exploited Vulnerabilities catalog, suggesting no confirmed exploits yet. An attacker can exploit the issue simply by sending a malformed BACnet message over the network; no credentials are required. Because the flaw results in a crash rather than remote code execution, the risk is confined to service interruption, which can be critical in safety‑critical or mission‑critical environments.

Generated by OpenCVE AI on April 28, 2026 at 05:46 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade bacnet-stack to version 1.4.3 or newer, which contains the patch that corrects the out‑of‑bounds read.
  • If the ReadPropertyMultiple service is not required for your deployment, disable the confirmed service handler to eliminate the attack vector.
  • Restrict BACnet traffic to trusted devices or subnets using firewall rules or BACnet RS‑485 bridge security to reduce the likelihood that a malicious RPM request reaches the vulnerable component.

Generated by OpenCVE AI on April 28, 2026 at 05:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 28 Apr 2026 15:45:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:*
cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc1:*:*:*:*:*:*
cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc2:*:*:*:*:*:*
cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc3:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Mon, 27 Apr 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Bacnetstack
Bacnetstack bacnet Stack
Vendors & Products Bacnetstack
Bacnetstack bacnet Stack

Sat, 25 Apr 2026 02:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 24 Apr 2026 20:00: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, an off-by-one out-of-bounds read vulnerability in bacnet-stack's ReadPropertyMultiple service decoder allows unauthenticated remote attackers to read one byte past an allocated buffer boundary by sending a crafted RPM request with a truncated object identifier. The vulnerability is in rpm_decode_object_id(), which checks apdu_len < 5 but then accesses all 6 byte positions (indices 0-5) — consuming 1 byte for the context tag, 4 bytes for the object ID, then reading apdu[5] for the opening tag check. A 5-byte input passes the length check but causes a 1-byte OOB read, 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.
Title BACnet Stack: Off-by-One Out-of-Bounds Read in ReadPropertyMultiple Object ID Decoder
Weaknesses CWE-125
CWE-193
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Bacnetstack Bacnet Stack
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-25T01:53:32.781Z

Reserved: 2026-04-20T18:18:50.680Z

Link: CVE-2026-41502

cve-icon Vulnrichment

Updated: 2026-04-25T01:52:54.564Z

cve-icon NVD

Status : Analyzed

Published: 2026-04-24T20:16:28.563

Modified: 2026-04-28T15:35:34.600

Link: CVE-2026-41502

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-28T06:00:09Z

Weaknesses