BACnet Stackにおける複数の脆弱性
| Title |
BACnet Stackにおける複数の脆弱性
|
| Summary |
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で修正されました。
|
| 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-41502
| Summary |
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.
|
| Publication Date |
April 25, 2026, 5:16 a.m. |
| Registration Date |
April 26, 2026, 4:07 a.m. |
| Last Update |
April 29, 2026, 12:35 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:*:*:*:*:*:* |
|
|
|
|
| cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc2:*:*:*:*:*:* |
|
|
|
|
| cpe:2.3:a:bacnetstack:bacnet_stack:1.5.0:rc3:*:*:*:*:*:* |
|
|
|
|
Related information, measures and tools
Common Vulnerabilities List