{"id":"CVE-2026-52786","summary":"BACnet Stack: malicious ReadPropertyMultiple-ACK with excessive properties causes global-buffer-overflow in ProcessRPMData()","details":"BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to versions 1.4.5, 1.5.1, and 1.6.0, in the official apps/epics client tool on v1.6.0-rc1 (not in the generic BACnet RPM ACK decoder alone) a malicious BACnet/IP endpoint can reply to the EPICS tool’s legitimate ReadPropertyMultiple request with a syntactically valid ReadPropertyMultiple-ACK that contains more heading properties than the tool’s fixed local storage can hold. The response is decoded successfully and later consumed by ProcessRPMData(), which writes property values into a fixed global array using an unbounded linear index. This results in a reproducible global-buffer-overflow in apps/epics/main.c. This is a network-reachable memory corruption in the official epics tool’s response-processing path. The root cause is that apps/epics treats a remotely supplied variable-length RPM property list as if it were a trusted, fixed-size local heading-property set. This issue has been patched in versions 1.4.5, 1.5.1, and 1.6.0.","aliases":["GHSA-c4q6-7827-mfg6"],"modified":"2026-11-13T10:46:33.587346949Z","published":"2026-11-12T19:59:45.264Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/52xxx/CVE-2026-52786.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-129","CWE-787"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/52xxx/CVE-2026-52786.json"},{"type":"FIX","url":"https://github.com/bacnet-stack/bacnet-stack/pull/1366"},{"type":"FIX","url":"https://github.com/bacnet-stack/bacnet-stack/pull/1409"},{"type":"ADVISORY","url":"https://github.com/bacnet-stack/bacnet-stack/security/advisories/GHSA-c4q6-7827-mfg6"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-52786"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/bacnet-stack/bacnet-stack","events":[{"introduced":"0"},{"fixed":"289b90d8d109b00594667a82007255bb71b36a6b"},{"fixed":"3a74c74a8139526e34da32c6cc41ed7c71aaded5"},{"fixed":"9bc3cfa07aab98852de432fa24079f4b4b6b7eed"}],"database_specific":{"extracted_events":[{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"0"},{"fixed":"1.4.5"}]},{"range":[{"introduced":"0"},{"fixed":"1.5.1"}],"source":"AFFECTED_FIELD","strategy":"StringRangeExpression"},{"range":[{"introduced":"0"},{"fixed":"1.6.0"}],"source":"AFFECTED_FIELD","strategy":"StringRangeExpression"}]}}],"versions":["bacnet-stack-1.4.4","bacnet-stack-1.5.0","bacnet-stack-1.4.3","bacnet-stack-1.4.2","bacnet-stack-1.4.1","bacnet-stack-1.4.0","bacnet-stack-1.3.8","bacnet-stack-1.3.7","bacnet-stack-1.3.6","bacnet-stack-1.3.5","bacnet-stack-1.3.4","bacnet-stack-1.3.3","bacnet-stack-1.3.2","bacnet-stack-1.3.1","bacnet-stack-1.3.0","bacnet-stack-1.2.0","bacnet-stack-1.1.1","bacnet-stack-1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-52786.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H"}]}