CVE-2026-64277: Input: synaptics-rmi4 - bound the F3A keymap to the GPIO count
In the Linux kernel, the following vulnerability has been resolved:
Input: synaptics-rmi4 - bound the F3A keymap to the GPIO count
rmif3ainitialize() takes the GPIO count from the device query register (f3a->gpiocount = buf & RMIF3AGPIOCOUNT, range 0..127). rmif3amapgpios() then allocates gpiokeymap with min(gpiocount, TRACKSTICKRANGEEND) == at most 6 entries, but rmif3aattention() iterates the full gpiocount and dereferences gpiokeymap[i], and input->keycodemax is set to the full gpiocount while input->keycode points at the 6-entry allocation.
A device that reports gpiocount > 6 therefore causes an out-of-bounds read of gpiokeymap[] on every attention interrupt, and out-of-bounds accesses through the input core's default keymap ioctls: EVIOCGKEYCODE reads past the buffer (leaking adjacent slab memory to user space) and EVIOCSKEYCODE writes a caller-controlled value past it, for any process able to open the evdev node, since inputdefaultgetkeycode() and inputdefaultsetkeycode() only bound the index against keycodemax.
Size the keymap for the full gpiocount. The mapping loop is unchanged: it still assigns only the first min(gpiocount, TRACKSTICKRANGEEND) entries; the remaining slots stay KEYRESERVED (devmkcalloc zero-fills) and are skipped when reporting.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.145.2-1
Event History
Frequently Asked Questions
What is the severity of CVE-2026-64277?
The severity of CVE-2026-64277 is high, rated at 7.8 according to CVSS 3.1.
What types of systems are affected by CVE-2026-64277?
CVE-2026-64277 affects the Linux kernel and Microsoft azl3 kernel versions.
How do I fix CVE-2026-64277?
To fix CVE-2026-64277, apply the available patch provided in the latest updates for the Linux kernel.
What is the impact of CVE-2026-64277 on system security?
CVE-2026-64277 can potentially allow for high levels of information disclosure and integrity violations due to improper handling of GPIO counts.
When was CVE-2026-64277 published?
CVE-2026-64277 was published on July 25, 2026.