CVE-2026-46202: HID: appletb-kbd: run inactivity autodim from workqueues
In the Linux kernel, the following vulnerability has been resolved:
HID: appletb-kbd: run inactivity autodim from workqueues
The autodim code in hid-appletb-kbd takes backlight_device->ops_lock
via backlight_device_set_brightness() -> mutex_lock() from two
different atomic contexts:
* appletb_inactivity_timer() is a struct timer_list callback, so it
runs in softirq context. Every expiry triggers
BUG: sleeping function called from invalid context at kernel/locking/mutex.c:591
Call Trace:
<IRQ>
__might_resched
__mutex_lock
backlight_device_set_brightness
appletb_inactivity_timer
call_timer_fn
run_timer_softirq
* reset_inactivity_timer() is called from appletb_kbd_hid_event() and
appletb_kbd_inp_event(). On real USB hardware these run in
softirq/IRQ context (URB completion and input-event dispatch).
When the Touch Bar has already been dimmed or turned off, the
reset path calls backlight_device_set_brightness() directly to
restore brightness, producing the same warning.
Both call sites hit the same mutex_lock()-from-atomic bug. Fix them
together by moving the blocking work onto the system workqueue:
* Convert the inactivity timer from struct timer_list to
struct delayed_work; the callback (appletb_inactivity_work) now
runs in process context where mutex_lock() is legal.
* Add a dedicated struct work_struct restore_brightness_work and have
reset_inactivity_timer() schedule it instead of calling
backlight_device_set_brightness() directly.
Cancel both works synchronously during driver tear-down alongside the
existing backlight reference drop.
The semantics are unchanged (same delays, same state transitions on
dim, turn-off and user activity); only the execution context of the
sleeping call changes. The timer field and callback are renamed to
match their new type; reset_inactivity_timer() keeps its name because
it is invoked from input event paths that read naturally as "reset
the inactivity timer".
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue affects the Apple Touch Bar keyboard backlight driver. Under certain activity or inactivity paths, the driver tried to perform blocking backlight work in a context where sleeping is not allowed. The available sources describe a kernel correctness bug, not confirmed data theft, remote compromise, or active exploitation.
Executive priority
Treat this as routine kernel maintenance unless Apple Touch Bar Linux systems are business-critical or showing kernel warnings. There is no source-backed evidence of active exploitation, but affected systems should still receive vendor kernel updates.
Technical view
The hid-appletb-kbd autodim paths called backlight_device_set_brightness() from timer, USB, or input atomic contexts, triggering mutex_lock from invalid context. The fix moves dim and restore brightness operations onto workqueues, using delayed_work and restore_brightness_work, then cancels both synchronously during driver teardown.
Likely exposure
Exposure appears limited to Linux systems using the hid-appletb-kbd Apple Touch Bar keyboard backlight driver on affected kernel builds. The CVE source lists Linux as affected and provides stable kernel commits, but it does not provide distribution package mappings or broader product impact.
Exploitation context
The source bundle does not cite public exploitation, weaponization, or KEV listing. The reported behavior is a kernel warning caused by sleeping in atomic context during keyboard backlight dim or restore paths. Practical impact is unclear from the available sources.
Researcher notes
The fix is execution-context hardening: blocking backlight mutex acquisition is moved from timer and IRQ-like paths to process-context workqueues. Sources do not provide CVSS, CWE, exploitability analysis, or distribution-specific version ranges, so impact assessment should remain conservative.
Mitigation direction
Update to a kernel build containing the referenced stable fixes.
Check Linux distribution advisories for package-specific fixed versions.
Prioritize systems using Apple Touch Bar keyboard support.
If no fix is packaged, follow vendor guidance rather than applying ad hoc changes.
Validation and detection
Confirm whether affected systems use hid-appletb-kbd or Apple Touch Bar keyboard support.
Verify the running kernel includes one of the referenced stable commits or equivalent backport.
Review kernel logs for mutex or sleeping-in-atomic warnings involving appletb-kbd.
Regression test keyboard backlight dim, turn-off, restore, and driver teardown behavior.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-46202 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
4Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
May 28, 2026, 09:40 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.