CVE-2026-64277
Input: synaptics-rmi4 - bound the F3A keymap to the GPIO count
Description
In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - bound the F3A keymap to the GPIO count rmi_f3a_initialize() takes the GPIO count from the device query register (f3a->gpio_count = buf & RMI_F3A_GPIO_COUNT, range 0..127). rmi_f3a_map_gpios() then allocates gpio_key_map with min(gpio_count, TRACKSTICK_RANGE_END) == at most 6 entries, but rmi_f3a_attention() iterates the full gpio_count and dereferences gpio_key_map[i], and input->keycodemax is set to the full gpio_count while input->keycode points at the 6-entry allocation. A device that reports gpio_count > 6 therefore causes an out-of-bounds read of gpio_key_map[] 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 input_default_getkeycode() and input_default_setkeycode() only bound the index against keycodemax. Size the keymap for the full gpio_count. The mapping loop is unchanged: it still assigns only the first min(gpio_count, TRACKSTICK_RANGE_END) entries; the remaining slots stay KEY_RESERVED (devm_kcalloc zero-fills) and are skipped when reporting.
INFO
Published Date :
July 25, 2026, 10:17 a.m.
Last Modified :
Aug. 17, 2026, 5:17 a.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Apply the kernel patch for synaptics-rmi4 vulnerability.
- Update the Linux kernel to a patched version.
- Rebuild and install the modified kernel module.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-64277.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-64277 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-64277
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-64277 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-64277 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 17, 2026
Action Type Old Value New Value Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '502ad7caaa1a445b734c827fa256e5311df67e3d', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '3480e24bc4e178aaa009edb25b6ee12df199e210', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '35ed74d32d8260bdfb14a94caf402bf0866bdeec', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': 'ba57f430328534501962d60d651e385ffd7af9ca', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '850117b637bcb1dcc14be0cf09ac819a8707b42c', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '8db211aed83733073b0814adaeeab61d4521474e', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '64fb0e1161ccc6b9e48b8df61f07d3c34c01ec42', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '57c10915f2c16c90e0d46ad00876bf39ece40fc2', 'versionType': 'git'}], 'programFiles': ['drivers/input/rmi4/rmi_f3a.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/input/rmi4/rmi_f3a.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '502ad7caaa1a445b734c827fa256e5311df67e3d', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '3480e24bc4e178aaa009edb25b6ee12df199e210', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '35ed74d32d8260bdfb14a94caf402bf0866bdeec', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': 'ba57f430328534501962d60d651e385ffd7af9ca', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '850117b637bcb1dcc14be0cf09ac819a8707b42c', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '8db211aed83733073b0814adaeeab61d4521474e', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '64fb0e1161ccc6b9e48b8df61f07d3c34c01ec42', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '57c10915f2c16c90e0d46ad00876bf39ece40fc2', 'versionType': 'git'}], 'programFiles': ['drivers/input/rmi4/rmi_f3a.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/input/rmi4/rmi_f3a.c'], 'defaultStatus': 'affected'}] -
Initial Analysis by [email protected]
Aug. 13, 2026
Action Type Old Value New Value Added CWE CWE-125 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.15.212 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 up to (excluding) 6.1.178 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.145 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.96 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.39 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.19 up to (excluding) 7.1.4 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.10 up to (excluding) 5.10.261 Added Reference Type kernel.org: https://git.kernel.org/stable/c/3480e24bc4e178aaa009edb25b6ee12df199e210 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/35ed74d32d8260bdfb14a94caf402bf0866bdeec Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/502ad7caaa1a445b734c827fa256e5311df67e3d Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/57c10915f2c16c90e0d46ad00876bf39ece40fc2 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/64fb0e1161ccc6b9e48b8df61f07d3c34c01ec42 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/850117b637bcb1dcc14be0cf09ac819a8707b42c Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/8db211aed83733073b0814adaeeab61d4521474e Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/ba57f430328534501962d60d651e385ffd7af9ca Types: Patch -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 27, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 25, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '502ad7caaa1a445b734c827fa256e5311df67e3d', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '3480e24bc4e178aaa009edb25b6ee12df199e210', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '35ed74d32d8260bdfb14a94caf402bf0866bdeec', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': 'ba57f430328534501962d60d651e385ffd7af9ca', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '850117b637bcb1dcc14be0cf09ac819a8707b42c', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '8db211aed83733073b0814adaeeab61d4521474e', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '64fb0e1161ccc6b9e48b8df61f07d3c34c01ec42', 'versionType': 'git'}, {'status': 'affected', 'version': '9e4c596bfd004f447a652205163234dfd4aafa69', 'lessThan': '57c10915f2c16c90e0d46ad00876bf39ece40fc2', 'versionType': 'git'}], 'programFiles': ['drivers/input/rmi4/rmi_f3a.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/input/rmi4/rmi_f3a.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - bound the F3A keymap to the GPIO count rmi_f3a_initialize() takes the GPIO count from the device query register (f3a->gpio_count = buf & RMI_F3A_GPIO_COUNT, range 0..127). rmi_f3a_map_gpios() then allocates gpio_key_map with min(gpio_count, TRACKSTICK_RANGE_END) == at most 6 entries, but rmi_f3a_attention() iterates the full gpio_count and dereferences gpio_key_map[i], and input->keycodemax is set to the full gpio_count while input->keycode points at the 6-entry allocation. A device that reports gpio_count > 6 therefore causes an out-of-bounds read of gpio_key_map[] 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 input_default_getkeycode() and input_default_setkeycode() only bound the index against keycodemax. Size the keymap for the full gpio_count. The mapping loop is unchanged: it still assigns only the first min(gpio_count, TRACKSTICK_RANGE_END) entries; the remaining slots stay KEY_RESERVED (devm_kcalloc zero-fills) and are skipped when reporting. Added Reference https://git.kernel.org/stable/c/3480e24bc4e178aaa009edb25b6ee12df199e210 Added Reference https://git.kernel.org/stable/c/35ed74d32d8260bdfb14a94caf402bf0866bdeec Added Reference https://git.kernel.org/stable/c/502ad7caaa1a445b734c827fa256e5311df67e3d Added Reference https://git.kernel.org/stable/c/57c10915f2c16c90e0d46ad00876bf39ece40fc2 Added Reference https://git.kernel.org/stable/c/64fb0e1161ccc6b9e48b8df61f07d3c34c01ec42 Added Reference https://git.kernel.org/stable/c/850117b637bcb1dcc14be0cf09ac819a8707b42c Added Reference https://git.kernel.org/stable/c/8db211aed83733073b0814adaeeab61d4521474e Added Reference https://git.kernel.org/stable/c/ba57f430328534501962d60d651e385ffd7af9ca