製品・ソフトウェアに関する情報
BACnet Stackにおける境界外読み取りに関する脆弱性
Title BACnet Stackにおける境界外読み取りに関する脆弱性
Summary

BACnet Stackは組み込みシステム向けのBACnetオープンソースプロトコルスタックCライブラリです。バージョン1.4.3より前のバージョンには、bacnet-stackのReadPropertyMultipleサービスプロパティデコーダにおいて、割り当てられたバッファ境界を越えて読み取る境界外読み取りの脆弱性が存在します。この脆弱性は認証されていないリモート攻撃者が、切り詰められたプロパティリストを含むRPMリクエストを送信することで悪用可能です。この脆弱性は、src/bacnet/rpm.cの344行目でrpm_decode_object_property()が廃止されたdecode_tag_number_and_value()関数を呼び出していることに起因します。この関数はバッファ長のパラメータを受け取らず、受け取ったポインタから無制限に読み取ってしまいます。拡張タグマーカー(0xF9)を含む1バイトのプロパティペイロードを持つ巧妙に作成されたBACnet/IPパケットによって、デコーダはバッファの終端から1バイトを超えて読み取ってしまい、組み込みBACnetデバイスでクラッシュを引き起こします。この脆弱性はsrc/bacnet/rpm.cに存在し、ReadPropertyMultiple確認済みサービスハンドラ(リファレンスサーバーでデフォルトで有効化されている)を有効にした全ての展開に影響します。この脆弱性はバージョン1.4.3で修正されました。

Possible impacts 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date April 24, 2026, midnight
Registration Date April 30, 2026, 10:59 a.m.
Last Update April 30, 2026, 10:59 a.m.
CVSS3.0 : 重要
Score 7.5
Vector CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Affected System
BACnet Stack
BACnet Stack 1.4.0 以上 1.4.3 未満
BACnet Stack 1.5.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
No Changed Details Date of change
1 [2026年04月30日]
  掲載
April 30, 2026, 10:59 a.m.

NVD Vulnerability Information
CVE-2026-41503
Summary

BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to 1.4.3, an out-of-bounds read vulnerability in bacnet-stack's ReadPropertyMultiple service property decoder allows unauthenticated remote attackers to read past allocated buffer boundaries by sending an RPM request with a truncated property list. The vulnerability stems from rpm_decode_object_property() calling the deprecated decode_tag_number_and_value() function at src/bacnet/rpm.c:344, which accepts no buffer length parameter and reads blindly from whatever pointer it receives. A crafted BACnet/IP packet with a 1-byte property payload containing an extended tag marker (0xF9) causes the decoder to read 1 byte past the end of the buffer, leading to crashes on embedded BACnet devices. The vulnerability exists in src/bacnet/rpm.c and affects any deployment that enables the ReadPropertyMultiple confirmed service handler (enabled by default in the reference server). This vulnerability is fixed in 1.4.3.

Publication Date April 25, 2026, 5:16 a.m.
Registration Date April 26, 2026, 4:07 a.m.
Last Update April 29, 2026, 12:30 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:* 1.4.0 1.4.3
cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc1:*:*:*:*:*:*
Related information, measures and tools
Common Vulnerabilities List