| タイトル | LinuxのLinux Kernelにおけるリソースのロックに関する脆弱性 |
|---|---|
| 概要 | Linuxカーネルにおいて、以下の脆弱性が修正されました。USBのdummy-hcdにおけるロックや同期エラーが修正されています。Syzbotのテストにより、drivers/usb/gadgets/udc/core.c内のusb_gadget_udc_reset()ルーチンにおいて、2番目の「driver」引数がNULLで呼び出されたことに起因するアドレッシング例外とクラッシュが発生することが確認されました。問題の原因となった呼び出し元はdummy_hcd.cのset_link_state()であり、この問題はUSBリセットとドライバーのバインド解除の競合によって発生していました。これらの競合は本来発生してはならず、コミット7dbd8f4cabd9(「USB: dummy-hcd: 誤った同期変更の修正」)およびいくつかのフォローアップコミットはこれらの競合を防止するために書かれたものです。しかしながら、コードには少なくとも2つのエラーが残っており、本パッチはそのうちの1つを修正します。Syzbotのクラッシュの原因となったエラーは、stop_activity()ルーチンが時としてdum-lockスピンロックを一度解放してから再取得するために発生していました。emulated USBリセットを処理中にset_link_state()でstop_activity()が呼ばれますが、その呼び出しはdum-ints_enabledのテスト後でdum-callback_usageのインクリメント前に行われます。そのため、別スレッド(ドライバーのバインド解除を行う)がスピンロックを奪い、dum-ints_enabledとdum-driverをクリアする機会を得てしまいました。通常、この別スレッドはdum-callback_usageが0になるまで待機しなければdum-driverをクリアできませんが、今回はまだインクリメントされていなかったため待機する必要がありませんでした。修正としては、stop_activity()を呼ぶ前にdum-callback_usageをインクリメントする方法が取られました。これにより、バインド解除を行うスレッドはusb_gadget_udc_reset()が安全に戻れるようになり、dum-callback_usageが減算されるまではdum-driverをクリアしなくなります。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月8日0:00 |
| 登録日 | 2026年5月18日11:28 |
| 最終更新日 | 2026年5月18日11:28 |
| CVSS3.0 : 警告 | |
| スコア | 5.5 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Linux |
| Linux Kernel 3.16.52 以上 3.17 未満 |
| Linux Kernel 3.2.97 以上 3.3 未満 |
| Linux Kernel 4.1.46 以上 4.2 未満 |
| Linux Kernel 4.14 以上 5.10.253 未満 |
| Linux Kernel 4.4.92 以上 4.5 未満 |
| Linux Kernel 4.9.55 以上 4.10 未満 |
| Linux Kernel 5.11 以上 5.15.203 未満 |
| Linux Kernel 5.16 以上 6.1.168 未満 |
| Linux Kernel 6.13 以上 6.18.22 未満 |
| Linux Kernel 6.19 以上 6.19.12 未満 |
| Linux Kernel 6.2 以上 6.6.134 未満 |
| Linux Kernel 6.7 以上 6.12.81 未満 |
| Linux Kernel 7.0 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月18日] 掲載 |
2026年5月18日11:28 |
| 概要 | In the Linux kernel, the following vulnerability has been resolved: USB: dummy-hcd: Fix locking/synchronization error Syzbot testing was able to provoke an addressing exception and crash These sorts of races were not supposed to be possible; commit The error responsible for the syzbot crash occurred because the The fix is to increment dum->callback_usage _before_ calling |
|---|---|
| 公表日 | 2026年5月8日23:16 |
| 登録日 | 2026年5月9日4:13 |
| 最終更新日 | 2026年5月12日23:10 |