【活用ガイド】

JVNDB-2026-022664

Zephyr ProjectのZephyrにおける競合状態に関する脆弱性

概要

Zephyr Bluetooth Classic RFCOMMホストスタック(subsys/bluetooth/host/classic/rfcomm.c)には、同時双方向セッション切断を誤処理するレースコンディションが存在します。ローカルデバイスがセッション切断を開始している状態(BT_RFCOMM_STATE_DISCONNECTING、DISC送信済み、RTXタイマー作動中)で、接続済みのピアが同時に自身のdlci 0用のDISCフレームを送信すると、rfcomm_handle_disc()がrfcomm_session_disconnected()を呼び出します。この関数は、bt_l2cap_chan_disconnect()を呼ばずに無条件でセッション状態をBT_RFCOMM_STATE_DISCONNECTEDに強制的に変更してしまいます。回復タイマーもキャンセルされ、その後のUAはDISCONNECTED状態のため無視されるので、セッションは永久にハング状態になります。基盤となるL2CAPチャネルは解放されず、固定長のbt_rfcomm_pool[CONFIG_BT_MAX_CONN]配列内のセッションスロットも解放されません(connポインタはそのままの状態です)。その接続に対する後続のbt_rfcomm_dlc_connect()呼び出しは無効なセッション状態のため-EINVALで失敗し、該当ピアに対するRFCOMMサービスは拒否されます。これが繰り返されると、セッションプールが枯渇する可能性があります。DISCフレームは空中でピアが制御しますが、悪用するにはピアのDISCがローカル開始の切断とタイミングが衝突する(高度に複雑なタイミング競合)が必要です。影響は可用性およびリソースリークに限定され、メモリ安全性、機密性、整合性に関わる問題はありません。この欠陥はリリース済みバージョン(v4.4.0以前)に存在します。修正は、セッションがすでにDISCONNECTING状態でない場合にのみDISCONNECTEDに遷移させることで、適切なL2CAP切断経路を維持するものです。
CVSS による深刻度 (CVSS とは?)

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


Zephyr Project
  • Zephyr 1.6.0 から 4.4.1

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

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

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

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

  1. 競合状態(CWE-362) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-10654
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-10654
  2. 関連文書 : bluetooth: classic: rfcomm: fix race condition in session disconnect  zephyrproject-rtos/zephyr@c67b59f  GitHub
更新履歴

  • [2026年07月08日]
      掲載