| Title | LinuxのLinux Kernelにおけるリソースのロックに関する脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、以下の脆弱性が修正されました:net: phyのプローブ中にphyのled_triggersを登録する際にAB-BAデッドロックが発生する問題です。LEDS_TRIGGER_NETDEVとLED_TRIGGER_PHYの両方が有効な場合にAB-BAデッドロックが発生します。具体的には、LED_TRIGGER_PHYはphy_attach中にRTNLを保持しつつtriggers_list_lockを取得し、phy_led_triggers_register関数内でLEDトリガーを登録します。一方、LEDS_TRIGGER_NETDEVはLED上で有効化され、まずtriggers_list_lockを取得し、その後RTNLを取得しようとします。これにより、クラシックなAB-BAデッドロックが発生しました。phy_led_triggers_register関数はRTNLを必要とせず、ネットワークスタック呼び出しもありません。したがって、PHYがMACに接続されている必要はありません。このため、phy_led_triggers_register関数の呼び出し位置を変更でき、PHYのprobe()およびrelease()はRTNLを保持しないため、AB-BAデッドロックは解消されました。 |
| Possible impacts | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | March 25, 2026, midnight |
| Registration Date | April 27, 2026, 10:54 a.m. |
| Last Update | April 27, 2026, 10:54 a.m. |
| CVSS3.0 : 警告 | |
| Score | 5.5 |
|---|---|
| Vector | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Linux |
| Linux Kernel 4.16 |
| Linux Kernel 4.16.1 以上 5.10.253 未満 |
| Linux Kernel 5.11 以上 5.15.203 未満 |
| Linux Kernel 5.16 以上 6.1.167 未満 |
| Linux Kernel 6.13 以上 6.18.17 未満 |
| Linux Kernel 6.19 以上 6.19.7 未満 |
| Linux Kernel 6.2 以上 6.6.130 未満 |
| Linux Kernel 6.7 以上 6.12.78 未満 |
| Linux Kernel 7.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年04月27日] 掲載 |
April 27, 2026, 10:54 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: net: phy: register phy led_triggers during probe to avoid AB-BA deadlock There is an AB-BA deadlock when both LEDS_TRIGGER_NETDEV and [ 1362.049207] [<8054e4b8>] led_trigger_register+0x5c/0x1fc <-- Trying to get lock "triggers_list_lock" via down_write(&triggers_list_lock); Here LED_TRIGGER_PHY is registering LED triggers during phy_attach [ 1362.191101] [<806c2640>] register_netdevice_notifier+0x60/0x168 <-- Trying to get lock "rtnl_mutex" via rtnl_lock(); Here LEDS_TRIGGER_NETDEV is being enabled on an LED. It first takes phy_led_triggers_registers() does not require the RTNL, it does not |
|---|---|
| Summary | En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: phy: registrar los led_triggers del phy durante la sonda para evitar un interbloqueo AB-BA Existe un interbloqueo AB-BA cuando tanto LEDS_TRIGGER_NETDEV como LED_TRIGGER_PHY están habilitados: [ 1362.049207] [<8054e4b8>] led_trigger_register+0x5c/0x1fc <-- Intentando obtener el bloqueo 'triggers_list_lock' a través de down_write(&triggers_list_lock); Aquí LED_TRIGGER_PHY está registrando los disparadores LED durante phy_attach mientras mantiene RTNL y luego toma triggers_list_lock. [ 1362.191101] [<806c2640>] register_netdevice_notifier+0x60/0x168 <-- Intentando obtener el bloqueo 'rtnl_mutex' a través de rtnl_lock(); Aquí LEDS_TRIGGER_NETDEV está siendo habilitado en un LED. Primero toma triggers_list_lock y luego RTNL. Un interbloqueo AB-BA clásico. phy_led_triggers_registers() no requiere el RTNL, no realiza ninguna llamada a la pila de red que requiera protección. Tampoco existe el requisito de que el PHY haya sido conectado a un MAC, los disparadores solo hacen uso del estado de phydev. Esto permite que la llamada a phy_led_triggers_registers() se coloque en otro lugar. PHY probe() y release() no mantienen RTNL, resolviendo así el interbloqueo AB-BA. |
| Publication Date | March 25, 2026, 8:16 p.m. |
| Registration Date | April 27, 2026, 12:19 p.m. |
| Last Update | April 25, 2026, 3:41 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.16.1 | 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.167 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 | 6.6.130 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 | 6.12.78 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.17 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 6.19.7 | |||
| cpe:2.3:o:linux:linux_kernel:4.16:-:*:*:*:*:*:* | |||||
| 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:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:* | |||||