Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify BACnet/IP device on UDP 47808
-
DeliverySend crafted RPM request with 5-byte truncated object ID
-
ExploitTrigger off-by-one read in rpm_decode_object_id()
-
ExecutionCause segmentation fault
-
ImpactCrash embedded device requiring reboot
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Vulnerability requires the ReadPropertyMultiple (RPM) confirmed service handler to be enabled in the BACnet Stack application-this is the default configuration in bacnet-stack reference server implementations. Exploitation succeeds against any device with network-reachable BACnet/IP services (UDP port 47808) running library versions before 1.4.3. No authentication, special user interaction, or non-default configuration is required per the CVSS vector (AV:N/AC:L/PR:N/UI:N), making this exploitable against default deployments. Exploitation is limited to denial of service impact-the one-byte out-of-bounds read does not facilitate code execution or privilege escalation on typical embedded platforms with memory protection. Devices must be processing BACnet protocol requests to be vulnerable; systems with RPM service explicitly disabled at the application layer are not affected. |
| Impact | Real-world risk assessment reveals moderate priority despite the high CVSS score. The CVSS v4.0 vector (AV:N/AC:L/PR:N/UI:N) confirms remote unauthenticated exploitation with low complexity, and the VA:H rating reflects the severe availability impact on embedded devices. However, several factors mitigate urgency: the vulnerability only causes a one-byte out-of-bounds read leading to denial of service rather than remote code execution (VC:N/VI:N indicates no confidentiality or integrity impact); no CISA KEV listing exists; no EPSS score is provided but absence of public weaponization suggests low observed exploitation; the affected service must be explicitly enabled (though it is default-enabled in reference implementations). The primary concern is operational disruption to critical building infrastructure-crashed BACnet devices can disable HVAC, fire systems, or physical access controls. Organizations using bacnet-stack in production embedded systems should prioritize patching, while those using vendor-supplied BACnet devices should verify firmware incorporates the fix. The confined blast radius (single-byte read) reduces likelihood of chaining with other vulnerabilities, but repeated exploitation could enable persistent availability attacks against building automation networks. |
| Exploit ScenarioDerived | An attacker on the building automation network or with routable access to BACnet/IP services sends a specially crafted ReadPropertyMultiple request to an embedded BACnet controller running vulnerable bacnet-stack library code. The malicious packet contains a truncated 5-byte object identifier sequence that bypasses the apdu_len validation check but triggers an out-of-bounds read when rpm_decode_object_id() accesses the sixth byte position. On memory-protected embedded systems, this causes an immediate segmentation fault and device crash, requiring manual reboot and disrupting HVAC control, lighting automation, or access control functions managed by the affected controller. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 24, 2026
Remote denial of service in BACnet Stack library versions before 1.4.3 allows unauthenticated attackers to crash embedded building automation devices by sending a malformed ReadPropertyMultiple request with a truncated object identifier. The off-by-one buffer read vulnerability triggers crashes on resource-constrained BACnet devices running the default-enabled RPM service handler. CVSS v4.0 scores this 8.7 (High) based on network attack vector and high availability impact, though no public exploit code or active exploitation has been identified at time of analysis.
RemediationAI
Upgrade BACnet Stack library to version 1.4.3 or later, which contains the vendor-released fix for the rpm_decode_object_id() bounds checking logic. The patch is available through the project's GitHub repository at https://github.com/bacnet-stack/bacnet-stack with details in security advisory GHSA-7545-3fpx-4xw3. For embedded systems requiring extensive validation cycles before firmware updates, implement compensating controls: disable the ReadPropertyMultiple service handler if RPM functionality is not operationally required (modify service handler registration in application code), or deploy network segmentation to restrict BACnet/IP traffic (UDP port 47808) to trusted building automation network segments only using firewalls or VLANs. Note that disabling RPM may break building management system integrations relying on bulk property reads for efficiency. Network filtering reduces attack surface but does not prevent exploitation from compromised devices within the trusted zone. Organizations using vendor-supplied BACnet devices should contact manufacturers to obtain firmware updates incorporating the bacnet-stack 1.4.3 library fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
BACnet (Building Automation and Control Networks) is an ASHRAE/ANSI/ISO standard protocol widely deployed in building management systems for HVAC, lighting, and access control. The bacnet-stack library provides an open-source C implementation targeting embedded systems. The vulnerability resides in the rpm_decode_object_id() function within src/bacnet/rpm.c, which handles ReadPropertyMultiple (RPM) service requests. The function implements insufficient bounds checking: it validates apdu_len < 5 but subsequently accesses array indices 0-5 (six bytes total), creating a classic off-by-one error classified as CWE-125 (Out-of-bounds Read). When processing the context tag (1 byte), object identifier (4 bytes), and opening tag validation (apdu[5]), a crafted 5-byte input passes validation but triggers a one-byte read beyond the allocated buffer boundary, exposing adjacent memory contents or causing segmentation faults on memory-protected systems.
Know when Bacnet Stack gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
4DescriptionGitHub Advisory
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.
Executive ViewAI
CVE-2026-41502 is a remote denial-of-service vulnerability in BACnet Stack library (versions before 1.4.3) that allows unauthenticated attackers to crash building automation devices through malformed network requests. This affects organizations operating connected HVAC, fire suppression, access control, or other critical building systems, potentially disrupting facility operations and safety compliance.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict network access to BACnet devices using firewalls to block untrusted sources from sending ReadPropertyMultiple requests; (2) Isolate BACnet devices on dedicated network segments separate from general IT networks; (3) Disable the ReadPropertyMultiple (RPM) service handler if operationally feasible; (4) Monitor BACnet traffic logs for malformed requests with truncated object identifiers. Monitor vendor advisories from BACnet device manufacturers for patch availability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Bacnet Stack
View allUnauthenticated remote attackers can crash BACnet Stack prior to versions 1.5.0rc4 and 1.4.3rc2 by sending a malformed W
BACnet Protocol Stack library provides a BACnet application layer, network layer and media access (MAC) layer communicat
BACnet Stack is a BACnet open source protocol stack C library for embedded systems. [CVSS 7.5 HIGH]
The BACnet Protocol Stack library versions 1.4.2 and earlier contain an off-by-one buffer overflow in the ubasic interpr
Remote attackers can crash BACnet Stack-powered embedded devices (versions prior to 1.4.3) by sending malformed ReadProp
Out-of-bounds read in BACnet Stack library versions before 1.4.3 allows unauthenticated remote attackers to crash embedd
BACnet Stack prior to version 1.4.3 exhibits undefined behavior in the decode_signed32() function when processing signed
EUVD-2026-25624
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB