30秒で判断
対応すべき人:
- Zephyr v1.9.0〜v4.4.0を使用したIoTデバイスを開発・運用している
- ネットワーク接続(特にIPv4)機能を利用している
zsock_getaddrinfo()やリテラルアドレス解決を使用している
対応不要な人:
- Zephyrを使用していない
- ネットワーク機能を無効化している
- 修正コミットを取り込んだバージョンを使用中
確認方法:
/* Zephyrのバージョン確認 */
#include <zephyr/version.h>
/* KERNEL_VERSION_STRING で確認 */
概要
Zephyr RTOSのIPv4アドレスパーサー(subsys/net/ip/utils.cのparse_ipv4()関数)に存在する脆弱性です。
a.b.c.d:port形式のアドレス文字列を処理する際、ポートサブストリングを17バイトの固定スタックバッファ(char ipaddr[NET_IPV4_ADDR_LEN + 1])にコピーしますが、コピー長の上限チェックが行われていません。攻撃者がコロン(:)以降に100バイト以上の長いサフィックスを持つアドレス文字列を指定することで、スタックの境界外書き込みが発生します。
この脆弱性は標準的なソケットAPI(zsock_getaddrinfo())、DNS設定文字列、eswifi Wi-Fiコプロセッサーのレスポンスパスから到達可能です。
注意: 同パーサーのIPv6版(parse_ipv6()の[addr]:portパス)にも同種の問題が残存しており、別途修正が必要です。
CVSSベクトル
| 項目 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | High |
| Privileges Required | None |
| User Interaction | None |
| Scope | Unchanged |
| Confidentiality | Low |
| Integrity | High |
| Availability | High |
| CVSSスコア | 8.1(High) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| Zephyr RTOS | Zephyr Project | v1.9.0〜v4.4.0 |
修正バージョンと回避策
修正: 以下のコミットで修正されています。
修正内容: ポート長のバリデーションを追加し、上限チェックなしのコピーを修正。
回避策(パッチ適用が困難な場合):
- ネットワーク入力のアドレス文字列を事前にバリデーションする
a.b.c.d:port形式の入力を許可しない場合は該当コードパスを無効化する
関連リンク
データソース: NVD (NIST), GitHub Advisory Database
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
