Cloudanix VulnDB

CVE-2026-23368

Medium · 5.5

CVSS

5.5

EPSS

0.1%

Published

Mar 25, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A timing problem in the Linux kernel can cause the system to freeze when certain network and light indicator settings are used together.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Race Condition
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

AB-BA deadlock between triggers_list_lock and rtnl_mutex when LEDS_TRIGGER_NETDEV and LED_TRIGGER_PHY are both enabled, occurring during phy_attach_direct and netdev trigger activation.

Why it matters to the business

Systems may hang or become unresponsive during network interface initialization or LED trigger configuration changes, disrupting network availability and requiring reboots.

How an attack unfolds

An attacker with local access enables both LED trigger features, then performs network device operations or writes to LED trigger sysfs entries to trigger the conflicting lock acquisition order and induce deadlock.

How to fix it

Upgrade to a kernel containing the fix that moves phy_led_triggers_register calls into PHY probe and release paths; rebuild and deploy the updated kernel across affected systems.

How to confirm the fix worked

Confirm the registration call is now inside phy_probe or equivalent and verify absence of deadlock traces involving triggers_list_lock and rtnl_mutex under concurrent LED and network operations.

Typical attack path

  1. Enable LEDS_TRIGGER_NETDEV and LED_TRIGGER_PHY kernel configurations
  2. Attach a PHY device via phylink or similar network stack path while holding rtnl_mutex
  3. Activate a netdev LED trigger via sysfs write while holding triggers_list_lock
  4. Trigger the reverse lock acquisition to deadlock the system

How to detect it

Search kernel logs for deadlock backtraces showing led_trigger_register and phy_led_triggers_register interleaved with rtnl_lock and netdev notifier activity.

What your security team should do

  • Prioritize kernel updates on all systems using LED network triggers
  • Audit kernel configs to identify hosts with both LED trigger options enabled
  • Monitor for kernel deadlock reports referencing phy_led_triggers_register
  • Test updated kernels in staging before broad deployment

The record

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 LED_TRIGGER_PHY are enabled: [ 1362.049207] [<8054e4b8>] led_trigger_register+0x5c/0x1fc <-- Trying to get lock "triggers_list_lock" via 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 <-- Hold lock "rtnl_mutex" by calling rtnl_lock(); [ 1362.094985] [<80694360>] sock_ioctl+0x2f4/0x4e0 [ 1362.099567] [<802e9c4c>] sys_ioctl+0x32c/0xd8c [ 1362.104022] [<80014504>] syscall_common+0x34/0x58 Here LED_TRIGGER_PHY is registering LED triggers during phy_attach while holding RTNL and then taking triggers_list_lock. [ 1362.191101] [<806c2640>] register_netdevice_notifier+0x60/0x168 <-- Trying to get lock "rtnl_mutex" via rtnl_lock(); [ 1362.197073] [<805504ac>] netdev_trig_activate+0x194/0x1e4 [ 1362.202490] [<8054e28c>] led_trigger_set+0x1d4/0x360 <-- Hold lock "triggers_list_lock" by down_read(&triggers_list_lock); [ 1362.207511] [<8054eb38>] led_trigger_write+0xd8/0x14c [ 1362.212566] [<80381d98>] sysfs_kf_bin_write+0x80/0xbc [ 1362.217688] [<8037fcd8>] kernfs_fop_write_iter+0x17c/0x28c [ 1362.223174] [<802cbd70>] vfs_write+0x21c/0x3c4 [ 1362.227712] [<802cc0c4>] ksys_write+0x78/0x12c [ 1362.232164] [<80014504>] syscall_common+0x34/0x58 Here LEDS_TRIGGER_NETDEV is being enabled on an LED. It first takes triggers_list_lock and then RTNL. A classical AB-BA deadlock. phy_led_triggers_registers() does not require the RTNL, it does not make any calls into the network stack which require protection. There is also no requirement the PHY has been attached to a MAC, the triggers only make use of phydev state. This allows the call to phy_led_triggers_registers() to be placed elsewhere. PHY probe() and release() don't hold RTNL, so solving the AB-BA deadlock.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities