CVE-2026-41503 in BACnet Stack
摘要
由 VulDB • 2026-05-10
BACnet Stack 是一个用于嵌入式系统的 BACnet 开源协议栈 C 语言库。在 1.4.3 版本之前,bacnet-stack 的 ReadPropertyMultiple 服务属性解码器中存在一个越界读取漏洞,未认证的攻击者可以通过发送带有截断属性列表的 RPM 请求,读取超出已分配缓冲区边界的数据。该漏洞源于 `rpm_decode_object_property()` 在 `src/bacnet/rpm.c:344` 处调用了已弃用的 `decode_tag_number_and_value()` 函数,该函数不接受缓冲区长度参数,并且会从接收到的任意指针处盲目读取数据。一个精心构造的 BACnet/IP 数据包,其属性负载长度为 1 字节并包含扩展标签标记(0xF9),会导致解码器在缓冲区末尾之后读取 1 个字节,从而引发嵌入式 BACnet 设备崩溃。该漏洞存在于 `src/bacnet/rpm.c` 中,并影响任何启用了 ReadPropertyMultiple 确认服务处理程序的部署(在参考服务器中默认启用)。该漏洞已在 1.4.3 版本中修复。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.