CVE Catalog

CVE-2026-64276

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

6th percentile - higher than 6% of all known CVEs

Summary

In the Synaptics RMI4 (F30) driver, the keymap is allocated for at most 6 entries, but the GPIO/LED count (0-31) is not bounded. A device with gpioled_count > 6 causes out-of-bounds read in the interrupt and via EVIOCGKEYCODE/EVIOCSKEYCODE ioctls, potentially leaking adjacent slab memory to userspace.

Risk Assessment

An attacker with evdev access can read sensitive kernel memory or write a controlled value, leading to privilege escalation.

Recommendation

Apply the kernel patch that sizes the keymap for the full GPIO/LED count instead of only the first 6.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - bound the F30 keymap to the GPIO/LED count rmi_f30_map_gpios() allocates gpioled_key_map with min(gpioled_count, TRACKSTICK_RANGE_END) == at most 6 entries, but rmi_f30_attention() iterates the full f30->gpioled_count (device query register, range 0..31) and dereferences gpioled_key_map[i], and input->keycodemax is set to the full gpioled_count while input->keycode points at the 6-entry allocation. A device that reports gpioled_count > 6 with GPIO support enabled therefore causes an out-of-bounds read on the attention interrupt and out-of-bounds read/write through the EVIOCGKEYCODE/EVIOCSKEYCODE ioctls, which bound the index only against keycodemax. This is the same defect as the F3A handler, which was copied from F30. Size the keymap for the full gpioled_count; the mapping loop still assigns only the first min(gpioled_count, TRACKSTICK_RANGE_END) entries.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS