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 (警告) [その他]
| |
| 影響を受けるシステム | |
|
| |
Zephyr Project | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
GitHub | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/08/01 |
| 登録日 | 2026/08/10 |
| 最終更新日 | 2026/08/10 |



