Skip to content
OpenAdvisories
Unscored CVE-2026-64363 EUVD-2026-48907GHSA-ffm7-cr74-h9f8

HID: appleir: fix UAF on pending key_up_timer in remove()

Published Jul 25, 2026 · Updated Nov 6, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel Package: linux Package: linux Package: linux-6.12 Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.14 Package: linux-aws-6.17 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-7.0 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.14 Package: linux-azure-6.17 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-7.0 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.15 Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.14 Package: linux-azure-fde-6.17 Package: linux-azure-fde-6.2 Package: linux-azure-fde-6.8 Package: linux-azure-fde-7.0 Package: linux-azure-fips Package: linux-azure-nvidia Package: linux-azure-nvidia-6.14 Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.14 Package: linux-gcp-6.17 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-7.0 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.11 Package: linux-hwe-6.14 Package: linux-hwe-6.17 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-7.0 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-5.4 Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.11 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.17 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-7.0 Package: linux-nvidia-bos Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.11 Package: linux-oem-6.14 Package: linux-oem-6.17 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oem-7.0 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.14 Package: linux-oracle-6.17 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-oracle-7.0 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.14 Package: linux-realtime-6.17 Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.14 Package: linux-riscv-6.17 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-riscv-7.0 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

HID: appleir: fix UAF on pending key_up_timer in remove()

appleir_remove() runs hid_hw_stop() before timer_delete_sync().
hid_hw_stop() synchronously unregisters the HID input device via
hid_disconnect() -> hidinput_disconnect() -> input_unregister_device(),
which drops the last reference and frees the underlying input_dev when
no userspace handle holds it open.

key_up_tick() reads appleir->input_dev and calls input_report_key() /
input_sync() on it. The timer is armed from appleir_raw_event() with
a HZ/8 (~125 ms) timeout on every keydown and key-repeat report. If a
key was pressed shortly before the device is disconnected, the timer
can fire after hid_hw_stop() has freed input_dev but before the
teardown drains it.

A simple reorder is not sufficient. Putting the timer drain first
still leaves a window where a USB URB completion (raw_event) running
during hid_hw_stop() can call mod_timer() and re-arm the timer, which
then fires after hidinput_disconnect() has freed input_dev. The same
URB-completion window also lets raw_event() reach key_up(), key_down()
and battery_flat() directly, all of which dereference
appleir->input_dev.

Introduce a 'removing' flag on struct appleir, gated by the existing
spinlock. appleir_remove() sets the flag under the lock and then
shuts down the timer with timer_shutdown_sync(), which both drains any
in-flight callback and permanently disables further mod_timer() calls.
appleir_raw_event() and key_up_tick() bail out early if the flag is
set, so no path can arm or run the timer, or dereference
appleir->input_dev, after remove() has started tearing down.

The keyrepeat and flatbattery branches of appleir_raw_event()
previously called into the input layer without holding the spinlock;
take it now so the flag check is well-defined. This incidentally
closes a pre-existing read-side race on appleir->current_key in the
keyrepeat branch.

This bug is structurally a sibling of commit 4db2af929279 ("HID:
appletb-kbd: fix UAF in inactivity-timer cleanup path") and has been
present since the driver was introduced.

Affected products

VendorProductAffectedFixed
Linux Linux 3.10 5.10.261

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 7.1.4-1 —
Debian 13 linux 6.12.100-1 —
Debian 12 linux 6.1.180-1 —
Debian 12 linux-6.12 6.12.100-1~deb12u1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 24.04 LTS linux-bluefield 6.8.0-1033.38 —
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1101.103 —
Ubuntu 26.04 LTS linux 7.0.0-31.31 USN-8726-1
Ubuntu 26.04 LTS linux-aws 7.0.0-1012.12 USN-8726-1
Ubuntu 26.04 LTS linux-azure 7.0.0-1014.14 USN-8726-4
Ubuntu 26.04 LTS linux-gcp +1 7.0.0-1011.11 USN-8726-4, USN-8726-1
Ubuntu 26.04 LTS linux-gke 7.0.0-1006.7 USN-8726-1
Ubuntu 26.04 LTS linux-ibm +2 7.0.0-1013.13 USN-8727-1, USN-8726-3
Ubuntu 26.04 LTS linux-nvidia 7.0.0-1018.18 USN-8760-2
Ubuntu 26.04 LTS linux-nvidia-bos 7.0.0-2018.18 USN-8800-1
Ubuntu 26.04 LTS linux-raspi 7.0.0-1019.19 USN-8726-2
Ubuntu 26.04 LTS linux-riscv +1 7.0.0-31.31.1 USN-8726-1
Ubuntu 24.04 LTS linux 6.8.0-147.147 USN-8917-1
Ubuntu 24.04 LTS linux-aws +1 6.8.0-1067.70 USN-9024-1, USN-8917-1
Ubuntu 24.04 LTS linux-aws-7.0 7.0.0-1012.12~24.04.1 USN-8726-1
Ubuntu 24.04 LTS linux-azure-7.0 7.0.0-1014.14~24.04.1 USN-8728-2
Ubuntu 24.04 LTS linux-azure-fde 6.8.0-1069.76 USN-8918-1
Ubuntu 24.04 LTS linux-azure-fde-7.0 7.0.0-1013.13~24.04.1 —
Ubuntu 24.04 LTS linux-gcp +1 6.8.0-1071.79 USN-8918-1, USN-8917-1
Ubuntu 24.04 LTS linux-gcp-7.0 +1 7.0.0-1011.11~24.04.1 USN-8728-3, USN-8728-1
Ubuntu 24.04 LTS linux-gke 6.8.0-1066.74 USN-8917-1
Ubuntu 24.04 LTS linux-gkeop 6.8.0-1052.56 USN-8917-1
Ubuntu 24.04 LTS linux-hwe-7.0 7.0.0-31.31~24.04.1 USN-8726-1
Ubuntu 24.04 LTS linux-ibm 6.8.0-1067.68 USN-8917-1
Ubuntu 24.04 LTS linux-lowlatency 6.8.0-147.147.1 USN-8917-1
Ubuntu 24.04 LTS linux-nvidia-7.0 7.0.0-1018.18~24.04.1 USN-8760-1
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1067.70.1 USN-9040-1
Ubuntu 24.04 LTS linux-nvidia-tegra 6.8.0-1038.42 USN-9002-1
Ubuntu 24.04 LTS linux-oracle 6.8.0-1064.67 USN-8917-1
Ubuntu 24.04 LTS linux-raspi 6.8.0-1068.72 USN-9025-1
Ubuntu 24.04 LTS linux-riscv +29 No fix yet —
Ubuntu 24.04 LTS linux-riscv-7.0 7.0.0-31.31.1~24.04.1 —
Ubuntu 24.04 LTS linux-vmware 6.8.0-1008.8 —
Ubuntu 22.04 LTS linux 5.15.0-198.208 USN-8875-1
Ubuntu 22.04 LTS linux-aws 5.15.0-1117.124 USN-8875-1
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1069.74~22.04.1 USN-9024-1
Ubuntu 22.04 LTS linux-azure 5.15.0-1123.132 USN-8875-1
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1073.82~22.04.1 USN-9026-1
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1122.131 USN-8876-1
Ubuntu 22.04 LTS linux-azure-fde-6.8 6.8.0-1071.78~22.04.1 USN-9026-1
Ubuntu 22.04 LTS linux-gcp 5.15.0-1118.128 USN-8877-1
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1073.81~22.04.1 USN-9024-1
Ubuntu 22.04 LTS linux-gke 5.15.0-1113.119 USN-8875-1
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1100.108 USN-8875-1
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-149.149~22.04.1 USN-9066-1
Ubuntu 22.04 LTS linux-ibm 5.15.0-1111.115 USN-8875-1
Ubuntu 22.04 LTS linux-ibm-6.8 6.8.0-1069.70~22.04.1 USN-9024-1
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1112.118 USN-8875-1
Ubuntu 22.04 LTS linux-kvm 5.15.0-1109.114 USN-8875-1
Ubuntu 22.04 LTS linux-lowlatency 5.15.0-195.205 USN-8875-1
Ubuntu 22.04 LTS linux-lowlatency-hwe-6.8 6.8.0-149.149.1~22.04.1 USN-9024-1
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1112.113 USN-8875-2
Ubuntu 22.04 LTS linux-nvidia-tegra 5.15.0-1070.72 USN-8963-1
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1059.59 USN-8963-1
Ubuntu 22.04 LTS linux-oracle 5.15.0-1114.120 USN-8875-1
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1067.71~22.04.1 USN-9025-1
Ubuntu 22.04 LTS linux-raspi 5.15.0-1113.116 USN-9029-1
Ubuntu 22.04 LTS linux-riscv +33 No fix yet —
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1080.84 USN-8875-1
Show 18 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2056.58 USN-9025-1
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1062.63 USN-8917-1
Ubuntu Pro Realtime 24.04 LTS linux-realtime-6.14 +1 No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1109.111 USN-8875-1
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1116.125 USN-8875-1
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1064.65~22.04.1 USN-9024-1
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 24.04 LTS linux-aws-fips 6.8.0-1067.70+fips1 USN-8917-1
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips 6.8.0-147.147+fips1 USN-8917-1
Ubuntu Pro FIPS-updates 24.04 LTS linux-gcp-fips +1 6.8.0-1071.79+fips1 USN-8918-1, USN-8917-1
Ubuntu Pro FIPS-updates 22.04 LTS linux-aws-fips 5.15.0-1117.124+fips1 USN-8875-1
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1123.132+fips1 USN-8875-1
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-198.208+fips1 USN-8875-1
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1118.128+fips1 USN-8877-1
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 20.04 LTS linux +10 No fix yet —
Ubuntu Pro 20.04 LTS linux-aws-5.15 5.15.0-1117.124~20.04.1 USN-8875-1
Ubuntu Pro 20.04 LTS linux-azure-5.15 5.15.0-1123.132~20.04.1 USN-8875-1
Ubuntu Pro 20.04 LTS linux-azure-fde-5.15 5.15.0-1122.131~20.04.1 USN-8875-1
Ubuntu Pro 20.04 LTS linux-gcp-5.15 5.15.0-1118.128~20.04.1 USN-8878-1
Ubuntu Pro 20.04 LTS linux-hwe-5.15 5.15.0-198.208~20.04.1 USN-8875-1
Ubuntu Pro 20.04 LTS linux-ibm-5.15 +1 5.15.0-1111.115~20.04.1 USN-8875-1
Ubuntu Pro 20.04 LTS linux-intel-iotg-5.15 5.15.0-1112.118~20.04.1 USN-8875-1
Ubuntu Pro 20.04 LTS linux-lowlatency-hwe-5.15 5.15.0-195.205~20.04.1 USN-8875-1
Ubuntu Pro 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1070.72~20.04.1 USN-8963-1
Ubuntu Pro 20.04 LTS linux-oracle-5.15 5.15.0-1114.120~20.04.1 USN-8879-1
Ubuntu Pro 18.04 LTS linux +12 No fix yet —
Ubuntu Pro 16.04 LTS linux +7 No fix yet —
Ubuntu Pro 14.04 LTS linux +3 No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed kernel-source 7.1.7-1.1 openSUSE-SU-2026:11476-1

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel 6.6.145.2-1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 kernel-uek +34 6.12.0-206.104.3.3.el10uek ELSA-2026-500248
Oracle Linux 8 bpftool +18 5.15.0-324.217.5.2.el9uek ELSA-2026-500249

Advisories 31

References