CVE-2026-64346 in Linux情報

要約

〜によって VulDB • 2026年07月25日

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

usb: gadget: udc: gadget_match_driverにおけるUse-After-Freeの修正

udc構造体はgadgetの管理構造体として機能しますが、そのライフサイクルは分離されています。Race Conditionが存在し、`usb_del_gadget()`がモード切替ワークなどを通じてudcメモリを解放している間に、`gadget_match_driver()`がconfigfsなどを介して並行して解放されたudcメモリにアクセスします。これによりUse-After-Free (UAF) が発生し、解放されたメモリがゼロクリアされる際にNULLポインタのデリファレンスをトリガーします:

[39430.908615][ T1171] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[39430.911397][ T1171] pc : __pi_strcmp+0x20/0x140
[39430.911441][ T1171] lr : gadget_match_driver+0x34/0x60
... [39430.911890][ T1171] usb_gadget_register_driver_owner+0x50/0xf8
[39430.911910][ T1171] gadget_dev_desc_UDC_store+0xf4/0x140
[39430.931308][ T1171] configfs_write_iter+0xec/0x134

[39430.957058][ T1171] Workqueue: events_freezable __dwc3_set_mode
[39430.957287][ T1171] dwc3_gadget_exit+0x34/0x8c
[39430.957304][ T1171] __dwc3_set_mode+0xc0/0x664

gadgetが解放されるまでudc構造体が割り当てられたままになることを保証することで、これを修正します。これを実現するために、コアに新しい`usb_gadget_release()`ルーチンを導入します。gadgetが追加されると、`usb_add_gadget()`はgadgetのリリースルーチンをudc構造体に保存し、udcへの参照を取得します。gadgetが解放されると、`usb_gadget_release()`はudcへの参照を解除し、その後でgadgetのリリースルーチンを呼び出します。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383144

EPSS

0.00215

アクティビティ

中間

ソース

Interested in the pricing of exploits?

See the underground prices here!