【活用ガイド】

JVNDB-2026-026244

Zephyr ProjectのZephyrにおける複数の脆弱性

概要

ZephyrのMCTP-over-I2C+GPIOターゲットバインディング(subsys/pmci/mctp/mctp_i2c_gpio_target.c)は、mctp_i2c_gpio_target_write_received()内でI2Cバスマスターからの疑似レジスタ書き込みを順序や受信バッファを検証せずにバイト単位で処理します。影響を受けるバージョンでは、MCTP_I2C_GPIO_RX_MSG_ADDR(データ)ハンドラが受信バッファが割り当てられているかを確認せずにb->rx_pktを間接参照および書き込みを行います。コントローラがまず長さレジスタ(バッファを割り当てる役割)を送信せずにデータレジスタを選択してバイトを書き込むと、NULLまたは未割り当てのmctp_pktbufポインタを介して攻撃者が選択したバイトが書き込まれます(すなわちアドレス0より少し上の攻撃者が任意に操作できる小さなオフセットに)、その結果メモリ破損やハードフォルトが発生します。同じハンドラは書き込み後に境界チェックを行うため、255バイトを超えるデータが送信された場合にはdata[255]で1バイトのヒープオーバーフローが発生します。I2Cターゲットコールバックはバスマスターの任意のデバイスから提供される生のバイトで呼び出され、バインディングは認証を行わないため、悪意あるまたは不具合のあるバス上のコントローラが事前のプロトコル状態なしにこれらの処理を引き起こし、ターゲットデバイスでメモリ破損やサービス拒否を招く可能性があります。脆弱なコードはI2C+GPIOターゲットバインディングの追加時に導入され、Zephyr v4.3.0およびv4.4.0で出荷されました。修正では、NULLチェックを伴う最初のデータバイトでの割り当て遅延、欠如した長さをlibmctpが拒否するゼロサイズパケットとして扱うこと、そして格納前に境界チェックを移動しています。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 8.1 (重要) [その他]
  • 攻撃元区分: 隣接
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


Zephyr Project
  • Zephyr 4.3.0 から 4.4.1

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. NULL ポインタデリファレンス(CWE-476) [その他]
  2. 境界外書き込み(CWE-787) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-10678
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-10678
  2. 関連文書 : pmci: mctp: Allocation issues on I2C+GPIO  zephyrproject-rtos/zephyr@9e23364  GitHub
更新履歴

  • [2026年07月31日]
      掲載