【活用ガイド】

JVNDB-2026-027685

Zephyr ProjectのZephyrにおける不正な認証に関する脆弱性

概要

ZephyrのBluetoothホストは、GATTキャラクタリスティックを2つの連続した属性として宣言しています。1つはパーミッションがBT_GATT_PERM_READにハードコーディングされたCharacteristic Declaration(キャラクタリスティック宣言)であり、もう1つはアプリケーションが指定したセキュリティパーミッション(例えばBT_GATT_PERM_READ_ENCRYPT / READ_AUTHEN / READ_LESC)を持つCharacteristic Value属性です。パブリックのnotifyおよびindicate APIは明示的にどちらの属性も受け入れており、宣言属性を渡すことがドキュメントに記載された一般的な慣習となっています。各通知または通知指示の送信前に、ホストはgatt_notify()、gatt_indicate()、およびgatt_notify_multiple_verify_params()(subsys/bluetooth/host/gatt.c)内でbt_gatt_check_perm()を用いてparams->attrに対しリンクのセキュリティを再チェックしています。アプリケーションがCharacteristic Declaration属性を渡した場合、ホストは値ハンドルを正しくリダイレクトしましたが、params->attrは宣言属性を指したままであったため、セキュリティチェックは宣言のパーミッション(セキュリティ不要)を評価し、値のパーミッションを評価しませんでした。その結果、キャラクタリスティック値に設定された暗号化/認証/LESCの要件がスキップされてしまいました。Notify-Multipleの経路ではさらにLE Secure Connections要件を省略したマスクが使用されていました。リモートのピアは、(ペアリングや暗号化なしでも)接続後にClient Characteristic Configurationディスクリプタを書き込み通知または指示を有効にすることで、この情報漏洩を引き起こします。これにより、要求されるセキュリティレベルに達していないリンク上で保護された値をサーバが送出してしまいます。影響は、アプリケーションが暗号化/認証が必要なnotify/indicateキャラクタリスティックを宣言し、かつCCCがより低いセキュリティレベルで書き込み可能な場合に限り、情報漏洩やアクセス制御の回避が発生します。メモリ安全性や可用性に対する影響はありません。修正では、許可チェック前に宣言属性を次の値属性にマッピングするbt_gatt_attr_resolve_value()を追加し、Notify-Multipleの経路ではBT_GATT_PERM_READ_ENCRYPT_MASKの全てを使用してLESC要件も強制するよう変更しています。
CVSS による深刻度 (CVSS とは?)

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


Zephyr Project
  • Zephyr 2.6.0 以上 4.5.0 未満

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

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

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

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

  1. 不正な認証(CWE-863) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-2411
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-2411
  2. 関連文書 : Bluetooth: GATT: Enforce characteristic permissions  zephyrproject-rtos/zephyr@c3386f9  GitHub
更新履歴

  • [2026年08月10日]
      掲載