CVE-2026-23101

Source
https://cve.org/CVERecord?id=CVE-2026-23101
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23101.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-23101
Downstream
Related
Published
2026-02-04T16:08:23.329Z
Modified
2026-04-02T17:29:52.230318546Z
Summary
leds: led-class: Only Add LED to leds_list when it is fully ready
Details

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 ledslist before ledinitcore() gets called adding it the list before ledclassdev.setbrightnesswork gets initialized.

This leaves a window where ledtriggerregister() of a LED's default trigger will call ledtriggerset() which calls ledsetbrightness() which in turn will end up queueing the uninitialized ledclassdev.setbrightness_work.

This race gets hit by the lenovo-thinkpad-t14s EC driver which registers 2 LEDs with a default trigger provided by sndctlled.ko in quick succession. The first ledclassdevregister() causes an async modprobe of sndctlled to run and that async modprobe manages to exactly hit the window where the second LED is on the ledslist without ledinit_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: _flushwork+0x344/0x390 (P) flushwork+0x2c/0x50 ledtriggerset+0x1c8/0x340 ledtriggerregister+0x17c/0x1c0 ledtriggerregistersimple+0x84/0xe8 sndctlledinit+0x40/0xf88 [sndctlled] dooneinitcall+0x5c/0x318 doinitmodule+0x9c/0x2b8 loadmodule+0x7e0/0x998

Close the race window by moving the adding of the LED to ledslist to after the ledinit_core() call.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23101.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
d23a22a74fded23a12434c9463fe66cec2b0afcd
Fixed
f7a6df659af777058833802c29b3b7974db5e78a
Fixed
d117fdcb21b05c0e0460261d017b92303cd9ba77
Fixed
e90c861411fc84629a240384b0a72830539d3386
Fixed
2757f7748ce2d0fa44112024907bafb37e104d6e
Fixed
da565bf98c9ad0eabcb09fc97859e0b52f98b7c3
Fixed
78822628165f3d817382f67f91129161159ca234
Fixed
d1883cefd31752f0504b94c3bcfa1f6d511d6e87

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23101.json"