CVE-2026-98764 in Linux情報

要約

〜によって VulDB • 2026年10月19日

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

usb: gadget: f_fs: FUNCTIONFS_ENDPOINT_DESCにおけるNULLポインタ参照のバグ修正

ユーザー空間がフルスピード記述子のみ(例:flags = FUNCTIONFS_HAS_FS_DESC)を使用してFunctionFSを設定し、ガジェットがより高速な速度(USB_SPEED_HIGHやUSB_SPEED_SUPERなど)で動作する場合、config_ep_by_speed()は関数が現在の速度に対応する記述子を欠いていることを検出し、警告をログに記録してフルスピードの記述子へフォールバックします。その後、epfile->epが有効になるようにusb_ep_enable()を通じてエンドポイントが正常に有効化されます。

しかし、ユーザー空間が後続でFUNCTIONFS_ENDPOINT_DESC ioctlを発行してエンドポイント記述子を照会する場合、ffs_epfile_ioctl()はガジェット->speedに基づいてのみ記述子インデックスを選択します:

switch (epfile->ffs->gadget->speed) {
case USB_SPEED_SUPER: case USB_SPEED_SUPER_PLUS: desc_idx = 2; break; case USB_SPEED_HIGH: desc_idx = 1; break; default: desc_idx = 0; } desc = epfile->ep->descs[desc_idx];
memcpy(&desc1, desc, desc->bLength);

ユーザー空間がフルスピードの記述子のみを提供したため、epfile->ep->descs[1]はNULLです。ここでdesc->bLengthを参照すると、即時のカーネルNULLポインタ参照パニック(システムクラッシュ)を引き起こします。

この問題を修正するため、現在の速度に対応する記述子が提供されていない場合は、config_ep_by_speed()および従来のf_fsの動作に合わせ、より低速な速度の記述子へフォールバックさせます。それでも見つからない場合は、epfile->ep->ep->desc(アクティブな記述子)へフォールバックし、有効な記述子が存在しない場合には安全に-EINVALを返します。さらに、struct usb_ep::descと整合性を取り、修飾子の消失を防ぐために、descをconstとしてマークします。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-421934

EPSS

0.00000

アクティビティ

非常低い

ソース

Interested in the pricing of exploits?

See the underground prices here!