{"id":"CVE-2026-26264","summary":"BACnet Stack WriteProperty decoding length underflow leads to OOB read and crash","details":"BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to 1.5.0rc4 and 1.4.3rc2, a malformed WriteProperty request can trigger a length underflow in the BACnet stack, leading to an out‑of‑bounds read and a crash (DoS). The issue is in wp.c within wp_decode_service_request. When decoding the optional priority context tag, the code passes apdu_len - apdu_size to bacnet_unsigned_context_decode without validating that apdu_size \u003c= apdu_len. If a truncated APDU reaches this path, apdu_len - apdu_size underflows, resulting in a large size being used for decoding and an out‑of‑bounds read. This vulnerability is fixed in 1.5.0rc4 and 1.4.3rc2.","aliases":["GHSA-phjh-v45p-gmjj"],"modified":"2026-08-12T15:32:00.762052Z","published":"2026-02-13T18:14:30.232Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-125"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26264.json","unresolved_ranges":[{"extracted_events":[{"introduced":"1.5.0rc1"},{"fixed":"1.5.0rc4"},{"fixed":"1.4.3rc2"}],"source":"AFFECTED_FIELD"}]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26264.json"},{"type":"ADVISORY","url":"https://github.com/bacnet-stack/bacnet-stack/security/advisories/GHSA-phjh-v45p-gmjj"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-26264"},{"type":"FIX","url":"https://github.com/bacnet-stack/bacnet-stack/commit/4cc8067c86f26e2b08b2c8f4d27f8e07de4d4708"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/bacnet-stack/bacnet-stack","events":[{"introduced":"f332225b196aa66503faae64f92bef113fe89ab2"},{"fixed":"6d2d251ca4f4d932664add702b236279863d630a"},{"fixed":"4cc8067c86f26e2b08b2c8f4d27f8e07de4d4708"}],"database_specific":{"cpe":"cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"1.4.0"},{"fixed":"1.4.3"}],"source":["CPE_RANGE","REFERENCES"]}}],"versions":["bacnet-stack-1.4.2","bacnet-stack-1.4.1","bacnet-stack-1.4.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-26264.json","vanir_signatures_modified":"2026-08-12T15:32:00Z","vanir_signatures":[{"deprecated":false,"digest":{"function_hash":"334356809919514516432083377056186192478","length":1934},"id":"CVE-2026-26264-12a0c9e5","signature_type":"Function","signature_version":"v1","source":"https://github.com/bacnet-stack/bacnet-stack/commit/4cc8067c86f26e2b08b2c8f4d27f8e07de4d4708","target":{"function":"wp_decode_service_request","file":"src/bacnet/wp.c"}},{"deprecated":false,"digest":{"line_hashes":["86935645793636965531492864868929223578","160676028784636020757255129909871670989","143096784000835583585817750725299034851","7366191321794427393793293445976275140","42782924848607664372544988191953447198","156721549425965508338962098494346588975","138478316628889352331007744282453055915","304371974899924991137966159474120879367","117476227685607305122797432547476514768","150713335775850271077862886081866066851","60116312716213668157356836762301870606","36356640393317167282140015369004155823","125854105733869574411570926856213136871","184260120630533185176516308525856423078","218403010877980967470103229806667359300","285978267618684373263343832404305508489"],"threshold":0.9},"id":"CVE-2026-26264-3590fc09","signature_type":"Line","signature_version":"v1","source":"https://github.com/bacnet-stack/bacnet-stack/commit/4cc8067c86f26e2b08b2c8f4d27f8e07de4d4708","target":{"file":"src/bacnet/bacaction.c"}},{"signature_version":"v1","source":"https://github.com/bacnet-stack/bacnet-stack/commit/4cc8067c86f26e2b08b2c8f4d27f8e07de4d4708","target":{"file":"src/bacnet/bacaction.c","function":"bacnet_action_command_decode"},"deprecated":false,"digest":{"length":2878,"function_hash":"144957117682056278464691235336397467681"},"id":"CVE-2026-26264-497dd425","signature_type":"Function"},{"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["232179150040674916410609772041420062328","229169931636287320737442881183971486617","95419355892275642855107148329873999362","125687697256170043151832906535162227021"]},"id":"CVE-2026-26264-a2eaba25","signature_type":"Line","signature_version":"v1","source":"https://github.com/bacnet-stack/bacnet-stack/commit/4cc8067c86f26e2b08b2c8f4d27f8e07de4d4708","target":{"file":"src/bacnet/wp.c"}}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N/E:P"}]}