CVE-2026-23101CWE-362CWE-908

CVE-2026-23101

Medium · published February 4, 2026

CVSS v3.1
4.7
EPSS
0%
Percentile
1.2
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
4.7 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00110 · 1.2th percentile
Weaknesses
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition'); CWE-908 · Use of Uninitialized Resource
Published
2026-02-04T22:16Z
Affected products (12)
ProductVersionsFixed in
linux/linux_kernel≥ 3.7, < 5.10.2495.10.249
linux/linux_kernel≥ 5.11, < 5.15.1995.15.199
linux/linux_kernel≥ 5.16, < 6.1.1626.1.162
linux/linux_kernel≥ 6.2, < 6.6.1226.6.122
linux/linux_kernel≥ 6.7, < 6.12.686.12.68
linux/linux_kernel≥ 6.13, < 6.18.86.18.8
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (7)
EPSS history
Timeline
  • 04 FEB 16:08Z
    leds: led-class: Only Add LED to leds_list when it is fully ready
    cvelistv5