| タイトル | LinuxのLinux Kernelにおける競合状態に関する脆弱性 |
|---|---|
| 概要 | Linuxカーネルにおいて、usb: gadget: u_etherのgether_disconnect()とeth_stop()間の競合状態の脆弱性が修正されました。gether_disconnect()がエンドポイントを解放している間にeth_stop()が同時に実行されると、eth_stop()は解放済みのエンドポイント記述子にアクセスし、NULLポインタの参照違反(NPE)が発生します。具体的には、カーネルでNULLポインタ参照不能エラーが発生し、以下のコールトレースが記録されます:__dwc3_gadget_ep_enable+0x60/0x788、dwc3_gadget_ep_enable+0x70/0xe4、usb_ep_enable+0x60/0x15c、eth_stop+0xb8/0x108。さらに、eth_stop()はdev-lockを保持したままクラッシュするため、gether_disconnect()を実行しているスレッドが同じロックを取得できず永久にスピンし続け、ハードロックアップが発生します。これに関するコアのハードロックアップのデバッグ情報とコールトレースは次のとおりです:queued_spin_lock_slowpath+0x94/0x488、_raw_spin_lock+0x64/0x6c、gether_disconnect+0x19c/0x1e8、ncm_set_alt+0x68/0x1a0、composite_setup+0x6a0/0xc50。原因はgether_disconnect()内でdev-port_usbのクリアが関数の最後まで遅延されていることにあります。このクリア処理をgether_disconnect()の先頭に移動し、dev-lockを保持したまま実行することで接続を即座に切断し、eth_stop()がdev-port_usbがNULLであることを認識して安全に処理を中止できるようになりました。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月1日0:00 |
| 登録日 | 2026年5月11日11:00 |
| 最終更新日 | 2026年5月11日11:00 |
| CVSS3.0 : 警告 | |
| スコア | 4.7 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Linux |
| Linux Kernel 5.16 以上 6.1.169 未満 |
| 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 |
| Linux Kernel 2.6.27 以上 5.10.253 未満 |
| Linux Kernel 5.11 以上 5.15.203 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月11日] 掲載 |
2026年5月11日11:00 |
| 概要 | In the Linux kernel, the following vulnerability has been resolved: usb: gadget: u_ether: Fix race between gether_disconnect and eth_stop A race condition between gether_disconnect() and eth_stop() leads to a Unable to handle kernel NULL pointer dereference Because eth_stop() crashes while holding the dev->lock, the thread Core - Debugging Information for Hardlockup core(7) The root cause is that the clearing of dev->port_usb in Move the clearing of dev->port_usb to the very beginning of |
|---|---|
| 公表日 | 2026年5月2日0:16 |
| 登録日 | 2026年5月2日4:07 |
| 最終更新日 | 2026年5月8日1:16 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.27 | 5.10.253 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 | 5.15.203 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 | 6.1.169 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 | 6.6.134 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 | 6.12.81 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.22 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 6.19.12 | |||
| cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* | |||||