CVE-2026-93783 in Linux
要約
〜によって VulDB • 2026年09月24日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
Bluetooth: RFCOMM: rfcomm_recv_frameにおけるskbの長さの検証
rfcomm_recv_frame()関数は、skb->dataをstruct rfcomm_hdr構造体へのポインタにキャストし、hdr->addrおよびhdr->ctrlに対して検証を行わずに間接参照(dereference)を行っています。skb->lenが最小ヘッダサイズより小さい切り詰められたフレームの場合、未初期化メモリに対する配列外読み取り(out-of-bounds read)が発生します。さらに、長さが0のフレームでは skb->len-- がアンダーフローして UINT_MAX となり、skb_tail_pointer() がバッファを大幅に超えて読み込んでしまいます。
コミット 23882b828c3c ("Bluetooth: RFCOMM: validate skb length in MCC handlers") は、MCCサブハンドラにおける同種の長さチェック欠如バグを修正しましたが、上位レベルの rfcomm_recv_frame() は未修正のまま残されていました。KMSANは以下を検出しています:
BUG: KMSAN: uninit-value in rfcomm_run ... Uninit was created at: __alloc_skb+0x474/0xb60 vhci_write+0xe9/0x870
この問題を修正するため、sizeof(struct rfcomm_hdr) + 1 より小さいフレームを拒否します(最小フレームには3バイトのヘッダと1バイトのFCSが必要です)。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.