CVE-2026-23101 leds: led-class: Only Add LED to leds_list when it is fully ready

Medium 4.7 Published Updated

A race condition in the Linux kernel LED class allows triggering a warning and potential system instability by accessing uninitialized work structures during LED registration.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-23101?

CVE-2026-23101 is a medium-severity vulnerability in Linux kernel, published on 4 Feb 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

In the Linux kernel, the following vulnerability has been resolved:

leds: led-class: Only Add LED to leds_list when it is fully ready

Before this change the LED was added to leds_list before led_init_core() gets called adding it the list before led_classdev.set_brightness_work gets initialized.

This leaves a window where led_trigger_register() of a LED's default trigger will call led_trigger_set() which calls led_set_brightness() which in turn will end up queueing the *uninitialized* led_classdev.set_brightness_work.

This race gets hit by the lenovo-thinkpad-t14s EC driver which registers 2 LEDs with a default trigger provided by snd_ctl_led.ko in quick succession. The first led_classdev_register() causes an async modprobe of snd_ctl_led to run and that async modprobe manages to exactly hit the window where the second LED is on the leds_list without led_init_core() being called for it, resulting in:

------------[ cut here ]------------ WARNING: CPU: 11 PID: 5608 at kernel/workqueue.c:4234 __flush_work+0x344/0x390 Hardware name: LENOVO 21N2S01F0B/21N2S01F0B, BIOS N42ET93W (2.23 ) 09/01/2025 ... Call trace: __flush_work+0x344/0x390 (P) flush_work+0x2c/0x50 led_trigger_set+0x1c8/0x340 led_trigger_register+0x17c/0x1c0 led_trigger_register_simple+0x84/0xe8 snd_ctl_led_init+0x40/0xf88 [snd_ctl_led] do_one_initcall+0x5c/0x318 do_init_module+0x9c/0x2b8 load_module+0x7e0/0x998

Close the race window by moving the adding of the LED to leds_list to after the led_init_core() call.

Weakness: CWE-908, CWE-362

Which versions are affected by CVE-2026-23101?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2026-23101?

Apply the vendor's patch.

Is CVE-2026-23101 being exploited?

There is no known exploitation of CVE-2026-23101 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as AZL-77142, BELL-CVE-2026-23101, DEBIAN-CVE-2026-23101, GHSA-5v65-j3j7-pw24, ROOT-OS-UBUNTU-2204-CVE-2026-23101, ROOT-OS-UBUNTU-2404-CVE-2026-23101 and 1 more.

Is CVE-2026-23101 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free