| タイトル | BACnet Stackにおける未定義、未指定、または実装定義の動作への依存に関する脆弱性 |
|---|---|
| 概要 | BACnet Stackは、組み込みシステム向けのBACnetオープンソースプロトコルスタックCライブラリです。バージョン1.4.3以前のsrc/bacnet/bacint.c内のdecode_signed32()関数は、4バイトのAPDUから符号付き32ビット整数を符号付きの左シフトを使って復元していました。4バイトのいずれかにビット7がセットされている場合(値が0x80以上の場合)、左シフト操作によって符号付きint32_tがオーバーフローし、C標準において未定義動作が発生します。この問題により、ビット7がセットされた符号付き整数プロパティ値を含む任意のBACnet入力に対してUndefinedBehaviorSanitizerが1分間に数千回検出します。この脆弱性はバージョン1.4.3で修正されました。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアの一部が停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年4月21日0:00 |
| 登録日 | 2026年4月30日12:28 |
| 最終更新日 | 2026年4月30日12:28 |
| CVSS3.0 : 低 | |
| スコア | 3.7 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L |
| BACnet Stack |
| BACnet Stack 1.4.3 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年04月30日] 掲載 |
2026年4月30日12:28 |
| 概要 | BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to 1.4.3, decode_signed32() in src/bacnet/bacint.c reconstructs a 32-bit signed integer from four APDU bytes using signed left shifts. When any of the four bytes has bit 7 set (value ≥ 0x80), the left-shift operation overflows a signed int32_t, which is undefined behavior per the C standard. This is flagged thousands of times per minute by UndefinedBehaviorSanitizer on any BACnet input containing signed-integer property values with high-bit-set bytes. This vulnerability is fixed in 1.4.3. |
|---|---|
| 公表日 | 2026年4月22日2:16 |
| 登録日 | 2026年4月25日4:03 |
| 最終更新日 | 2026年4月28日4:49 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:bacnetstack:bacnet_stack:*:*:*:*:*:*:*:* | 1.4.3 | ||||