Out-of-bounds Read in Bacnet-Stack
CVE-2025-66624
BACnet Protocol Stack library provides a BACnet application layer, network layer and media access (MAC) layer communications services. Prior to 1.5.0.rc2, The npdu_is_expected_reply function in src/bacnet/npdu.c indexes request_pdu[offset+2/3/5] and reply_pdu[offset+1/2/4] without verifying that those APDU bytes exist. bacnet_npdu_decode() can return offset == 2 for a 2-byte NPDU, so tiny PDUs pass the version check and then get read out of bounds. On ASan/MPU/strict builds this is an immediate crash (DoS). On unprotected builds it is undefined behavior and can mis-route replies; RCE is unlikely because only reads occur, but DoS is reliable.
Vulnerability class: Buffer Overflow
EPSS: 0.004 (34.2th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.
Affected products
- Bacnet-stack — versions < 1.5.0.rc2
- Bacnetstack Bacnet_stack — versions 1.5.0
Weakness classification (CWE)
References
- security-advisories@github.com (x_refsource_CONFIRM, Exploit, Vendor Advisory)
- security-advisories@github.com (Patch, x_refsource_MISC)
Frequently asked questions
- What is CVE-2025-66624?
- CVE-2025-66624 is a high-severity vulnerability in Bacnet-Stack, classified under Out-of-bounds Read. CVSS score: 7.5/10. Published 2025-12-05.
- How severe is CVE-2025-66624?
- High severity. CVSS v3 base score is 7.5 out of 10.