CVE-2026-23368 in Linux情報

要約

〜によって VulDB • 2026年06月02日

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

net: phy: AB-BAデッドロックを回避するために、プローブ時にphy led_triggersを登録する

LEDS_TRIGGER_NETDEVとLED_TRIGGER_PHYの両方が有効になっている場合、AB-BAデッドロックが発生します。

[ 1362.049207] [<8054e4b8>] led_trigger_register+0x5c/0x1fc <-- "triggers_list_lock"ロックを取得しようとしています (down_write(&triggers_list_lock)経由)
[ 1362.054536] [<80662830>] phy_led_triggers_register+0xd0/0x234
[ 1362.060329] [<8065e200>] phy_attach_direct+0x33c/0x40c
[ 1362.065489] [<80651fc4>] phylink_fwnode_phy_connect+0x15c/0x23c
[ 1362.071480] [<8066ee18>] mtk_open+0x7c/0xba0
[ 1362.075849] [<806d714c>] __dev_open+0x280/0x2b0
[ 1362.080384] [<806d7668>] __dev_change_flags+0x244/0x24c
[ 1362.085598] [<806d7698>] dev_change_flags+0x28/0x78
[ 1362.090528] [<807150e4>] dev_ioctl+0x4c0/0x654 <-- rtnl_lock()呼び出しにより "rtnl_mutex"ロックを保持中
[ 1362.094985] [<80694360>] sock_ioctl+0x2f4/0x4e0
[ 1362.099567] [<802e9c4c>] sys_ioctl+0x32c/0xd8c
[ 1362.104022] [<80014504>] syscall_common+0x34/0x58

ここで、LED_TRIGGER_PHYはRTNLを保持した状態でphy_attach中にLEDトリガーを登録し、その後triggers_list_lockを取得しています。

[ 1362.191101] [<8054e4b8>] led_trigger_register+0x5c/0x1fc <-- "triggers_list_lock"ロックを取得しようとしています (down_write(&triggers_list_lock)経由)
[ 1362.196630] [<80662830>] phy_led_triggers_register+0xd0/0x234
[ 1362.202423] [<8065e200>] phy_attach_direct+0x33c/0x40c
[ 1362.207583] [<80651fc4>] phylink_fwnode_phy_connect+0x15c/0x23c
[ 1362.212574] [<8066ee18>] mtk_open+0x7c/0xba0
[ 1362.216923] [<806d714c>] __dev_open+0x280/0x2b0
[ 1362.221458] [<806d7668>] __dev_change_flags+0x244/0x24c
[ 1362.226672] [<806d7698>] dev_change_flags+0x28/0x78
[ 1362.231602] [<807150e4>] dev_ioctl+0x4c0/0x654 <-- rtnl_lock()呼び出しにより "rtnl_mutex"ロックを保持中
[ 1362.236057] [<80694360>] sock_ioctl+0x2f4/0x4e0
[ 1362.240639] [<802e9c4c>] sys_ioctl+0x32c/0xd8c
[ 1362.245094] [<80014504>] syscall_common+0x34/0x58

LEDS_TRIGGER_NETDEVがLEDで有効化されています。まずtriggers_list_lockを取得し、次にRTNLを取得します。これは古典的なAB-BAデッドロックです。

phy_led_triggers_registers()はRTNLを必要としません。ネットワークスタックへの呼び出しを行わず、保護を必要とする操作はありません。また、PHYがMACにアタッチされている必要もありません。トリガーはphydevの状態のみを使用します。これにより、phy_led_triggers_registers()の呼び出し場所を変更できます。PHYのprobe()とrelease()はRTNLを保持しないため、AB-BAデッドロックを解決できます。

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年01月13日

モデレーション

承諾済み

エントリ

VDB-353096

EPSS

0.00099

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!