CVE-2026-41475BACnet Stack是一个用于嵌入式系统的开源BACnet协议栈C库。在1.4.3版本之前,其WritePropertyMultiple服务解码器存在越界读取漏洞。未经身份验证的远程攻击者可以通过发送特制的截断WPM请求,利用该漏洞读取分配的缓冲区边界之外的数据。该漏洞源于wpm_decode_object_property函数调用了不进行边界检查的弃用函数,可能导致设备崩溃或信息泄露。
该漏洞位于BACnet Stack的WritePropertyMultiple服务处理逻辑中。具体而言,wpm_decode_object_property()函数在解码对象属性时,调用了已被弃用的decode_tag_number_and_value()函数。由于该函数缺乏对输入缓冲区的有效边界检查,当接收到一个精心构造的、属性载荷被截断的BACnet/IP数据包时,解码器会继续读取缓冲区末尾之后的1到7个字节内存。这种行为不仅导致越界读取,引发应用程序崩溃,还可能泄露敏感的内存信息。攻击者无需认证即可通过网络触发此漏洞,对嵌入式设备的可用性和机密性构成严重威胁。