CVE-2026-80827 in Linux情報

要約

〜によって VulDB • 2026年09月04日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

USB: serial: option: インターラプトURBコールバックにおけるスラブOOB(範囲外)読み込みの修正

インターラプトURBバッファは、エンドポイントの wMaxPacketSize に基づいて setup_port_interrupt_in() で割り当てられます。

buffer_size = usb_endpoint_maxp(epd); port->interrupt_in_buffer = kmalloc(buffer_size, GFP_KERNEL);

USBデバイスがそのインターラプトINエンドポイントで wMaxPacketSize を 8 と宣言している場合、バッファは kmalloc-8 キャッシュ(正確に8バイト)から割り当てられます。

デバイスがショートパケット(actual_length < wMaxPacketSize)を送信すると、URB は status == 0 で完了し、コールバックは以下を読み込みます:

data[sizeof(struct usb_ctrlrequest)]

これは data[8] を評価し、割り当てられた8バイトのバッファを1バイト超えてアクセスします。これによりスラブ範囲外読み込み(slab out-of-bounds read)が発生します。

これを修正するために、欠落していた境界チェックを追加します:req_pkt->bRequestType および req_pkt->bRequest にアクセスする前に、実際の長さが struct usb_ctrlrequest ヘッダーを保持するのに十分な大きさであることを最初に確認し、その後、data[sizeof(struct usb_ctrlrequest)] を条件分岐内で読み込む前に、モデム信号状態用の追加バイトが存在することを確認します。一貫性のために sizeof(*req_pkt) を sizeof(struct usb_ctrlrequest) の代わりに使用します。

[ johan: dev_err()を使用; シグナルの宣言と初期化を分割 ]

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2026年08月26日

モデレーション

承諾済み

エントリ

VDB-398945

EPSS

0.00000

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!