| タイトル | BACnet Stackにおける複数の脆弱性 |
|---|---|
| 概要 | BACnet Stackは、組み込みシステム向けのBACnetオープンソースプロトコルスタックCライブラリです。バージョン1.4.3より前のバージョンでは、bacnet-stackのReadPropertyMultipleサービスデコーダにおいて、オフバイワンの境界外読み取りの脆弱性が存在していました。この脆弱性により、認証されていないリモート攻撃者が、切り詰められたオブジェクト識別子を含む細工されたRPMリクエストを送信することで、割り当てられたバッファ境界の1バイト先を読み取ることが可能でした。脆弱性はrpm_decode_object_id()関数にあり、apdu_len 5のチェックを行いますが、その後6バイト位置(インデックス0から5)すべてにアクセスしています。具体的には、コンテキストタグに1バイト、オブジェクトIDに4バイトを消費し、その後開きタグのチェックのためにapdu[5]を読み取ります。5バイトの入力は長さチェックを通過しますが、1バイトの境界外読み取りを引き起こし、組み込みBACnetデバイスをクラッシュさせます。この脆弱性はsrc/bacnet/rpm.cに存在し、ReadPropertyMultipleの確認済みサービスハンドラを有効にしているすべての環境(リファレンスサーバではデフォルトで有効)に影響を与えます。この脆弱性はバージョン1.4.3で修正されました。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年4月24日0:00 |
| 登録日 | 2026年4月30日10:59 |
| 最終更新日 | 2026年4月30日10:59 |
| CVSS3.0 : 重要 | |
| スコア | 7.5 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| BACnet Stack |
| BACnet Stack 1.4.0 以上 1.4.3 未満 |
| BACnet Stack 1.5.0 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年04月30日] 掲載 |
2026年4月30日10:59 |
| 概要 | BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to 1.4.3, an off-by-one out-of-bounds read vulnerability in bacnet-stack's ReadPropertyMultiple service decoder allows unauthenticated remote attackers to read one byte past an allocated buffer boundary by sending a crafted RPM request with a truncated object identifier. The vulnerability is in rpm_decode_object_id(), which checks apdu_len < 5 but then accesses all 6 byte positions (indices 0-5) — consuming 1 byte for the context tag, 4 bytes for the object ID, then reading apdu[5] for the opening tag check. A 5-byte input passes the length check but causes a 1-byte OOB read, 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. |
|---|---|
| 公表日 | 2026年4月25日5:16 |
| 登録日 | 2026年4月26日4:07 |
| 最終更新日 | 2026年4月29日0:35 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:* | 1.4.0 | 1.4.3 | |||
| cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc1:*:*:*:*:*:* | |||||
| cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc2:*:*:*:*:*:* | |||||
| cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc3:*:*:*:*:*:* | |||||