GHSA-gmvx-6pfp-7mcv · 深刻度: high — In the Linux kernel, the following vulnerability has been resolved: HID: appletb-kbd: fix UAF in...
In the Linux kernel, the following vulnerability has been resolved: HID: appletb-kbd: fix UAF in inactivity-timer cleanup path Commit 38224c472a03 ("HID: appletb-kbd: fix slab use-after-free bug in appletb_kbd_probe") added timer_delete_sync(&kbd->inactivity_timer) to both the probe close_hw error path and appletb_kbd_remove(), but the way it was wired in left the inactivity timer reachable during driver tear-down via two distinct windows. Window A -- put_device() before timer_delete_sync(): put_device(&kbd->backlight_dev->dev); timer_delete_sync(&kbd->inactivity_timer); The inactivity_timer softirq reads kbd->backlight_dev and calls backlight_device_set_brightness() -> mutex_lock(&ops_lock). If a concurrent hid_appletb_bl unbind drops the last devm reference between these two calls, the backlight_device is freed and the mutex_lock() touches freed memory. Window B -- backlight cleanup before hid_hw_stop(): if (kbd->backlight_dev) { timer_delete_sync(...); put_device(...); } hid_hw_close(hdev); hid_hw_stop(hdev); Even after Window A is closed, hid_hw_close()/hid_hw_stop() still run afterwards, so a late ".event" callback from the HID core (USB URB completion on real Apple hardware) can arrive after timer_delete_sync() drained the softirq but before put_device() drops the reference. That callback reaches reset_inactivity_timer(), which calls mod_timer() and re-arms the timer. The freshly re-armed timer can then fire on the about-to-be-freed backlight_device. Both windows produce the same KASAN slab-use-after-free: BUG: KASAN: slab-use-after-free in __mutex_lock+0x1aab/0x21c0 Read of size 8 at addr ffff88803ee9a108 by task swapper/0/0 Call Trace: <IRQ> __mutex_lock backlight_device_set_brightness appletb_inactivity_timer call_timer_fn run_timer_softirq handle_softirqs Allocated by task N: devm_backlight_device_register appletb_bl_probe Freed by task M: (concurrent hid_appletb_bl unbind path) Close both windows at once by reworking the tear-down in appletb_kbd_remove() and in the probe close_hw error path so that 1) hid_hw_close()/hid_hw_stop() run before the backlight cleanup, guaranteeing no further .event callback can fire and re-arm the timer, and 2) inside the "if (kbd->backlight_dev)" block, timer_delete_sync() runs before put_device(), so the softirq is drained before the final reference is dropped.
総合評価: CVE-2026-46213 は低リスク(32.2/100)。CVSS 深刻度は高。悪用される可能性が高い(EPSS 0.12%、2 パーセンタイル) 推奨対応: 悪用情報と EPSS の推移を監視し、必要に応じて優先度を見直してください。
リスクは変動します。再評価に基づき、本ページの表示内容を更新しています。
EPSS は日次で悪用されやすさの相対度合いを推定します。パーセンタイルは採点済み CVE の中での相対位置(高いほど相対的に深刻)を示します。
| # | 日付 | 旧 EPSS スコア | 新 EPSS スコア | Δ(新 − 旧) |
|---|---|---|---|---|
| 1 | 2026-06-15 | 0.02% | 0.12% | +0.11% |
| 2 | 2026-05-28 | — | 0.02% | — |
EPSS の全履歴 (全 2 件)
この CVE の CVSS 指標。
| ベーススコア | バージョン | 深刻度 | ベクトル | 悪用しやすさ | 影響 | スコアの出典 |
|---|---|---|---|---|---|---|
| 7.8 | 3.1 | HIGH |
|
1.8 | 5.9 | [email protected] |
GHSA-gmvx-6pfp-7mcv · 深刻度: high — In the Linux kernel, the following vulnerability has been resolved: HID: appletb-kbd: fix UAF in...
| vendor | priority | summary | link |
|---|---|---|---|
debian
|
unimportant | CVE-2026-46213 unimportant priority: Debian including 1 source packages (linux), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. | https://security-tracker.debian.org/tracker/CVE-2026-46213 |
redhat
|
— | — | https://access.redhat.com/security/cve/CVE-2026-46213 |
ubuntu
|
medium | CVE-2026-46213 medium priority: Ubuntu including 158 source packages (linux, linux-allwinner-5.19, …), 1422 status rows across 9 suites (bionic, focal, jammy, noble, questing, resolute, trusty, upstream, xenial): DNE 1024, ignored 169, not-affected 115, released 84, needed 30. | https://ubuntu.com/security/CVE-2026-46213 |
| ベンダー | 製品 | バージョン | 生の CPE |
|---|---|---|---|
| linux | linux_kernel | >= 6.15.6, < 6.16 | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| linux | linux_kernel | >= 6.16.1, < 6.18.32 | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| linux | linux_kernel | >= 6.19, < 7.0.9 | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| linux | linux_kernel | 6.16 | cpe:2.3:o:linux:linux_kernel:6.16:-:*:*:*:*:*:* |
| linux | linux_kernel | 6.16 | cpe:2.3:o:linux:linux_kernel:6.16:rc5:*:*:*:*:*:* |
| linux | linux_kernel | 6.16 | cpe:2.3:o:linux:linux_kernel:6.16:rc6:*:*:*:*:*:* |
| linux | linux_kernel | 6.16 | cpe:2.3:o:linux:linux_kernel:6.16:rc7:*:*:*:*:*:* |
| linux | linux_kernel | 7.1 | cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* |
| linux | linux_kernel | 7.1 | cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* |
| linux | linux_kernel | 7.1 | cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:* |