Skip to main content

Linux Kernel EUVDEUVD-2026-48989

| CVE-2026-64277 HIGH
Out-of-bounds Read (CWE-125)
2026-07-25 Linux GHSA-p39g-x9xh-7wq9
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

Local evdev node access required (AV:L/PR:L); no extra complexity once hardware precondition met (AC:L); full C/I/A impact from slab leak and controlled heap write.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
HIGH
qualitative
Red Hat
7.0 HIGH
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 27, 2026 - 05:29 vuln.today
CVSS changed
Jul 27, 2026 - 05:22 NVD
7.8 (HIGH)
Patch available
Jul 25, 2026 - 11:18 EUVD
CVE Published
Jul 25, 2026 - 08:49 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 25, 2026 - 08:49 cve.org
HIGH 7.8

DescriptionCVE.org

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.

AnalysisAI

Out-of-bounds read and write in the Linux kernel's synaptics-rmi4 F3A GPIO driver allows local low-privileged users to leak adjacent kernel slab memory to userspace or perform a controlled heap write via the evdev ioctl interface. The root cause is a size mismatch: gpio_key_map is allocated for at most 6 entries while input->keycodemax is set to the full device-reported gpio_count (up to 127), causing the input core's EVIOCGKEYCODE and EVIOCSKEYCODE ioctls to index past the allocation. No public exploit has been identified at time of analysis; EPSS is 0.22%.

Technical ContextAI

The synaptics-rmi4 driver supports Synaptics RMI4-protocol input devices (touchpads, touchscreens) typically attached over I2C or SMBus in laptops. Function F3A handles GPIO-mapped keys. rmi_f3a_initialize() reads gpio_count (0-127) from the device's F3A query register. rmi_f3a_map_gpios() allocates gpio_key_map with min(gpio_count, TRACKSTICK_RANGE_END) - capped at 6 entries - but stores the full gpio_count in input->keycodemax. The Linux input core handlers input_default_getkeycode() and input_default_setkeycode() bound the index only against keycodemax, not the actual allocation size, so any index in [6, gpio_count-1] escapes the buffer. Additionally, rmi_f3a_attention() iterates the full gpio_count and dereferences gpio_key_map[i] on every hardware interrupt. The primary classification is CWE-125 (Out-of-Bounds Read) for the EVIOCGKEYCODE and attention paths; the EVIOCSKEYCODE write path also constitutes CWE-787 (Out-of-Bounds Write). Affected CPE: cpe:2.3:a:linux:linux.

RemediationAI

Update to a patched kernel version: 5.10.261+, 5.15.212+, 6.1.178+, 6.6.145+, 6.12.96+, 6.18.39+, 7.1.4+, or 7.2-rc1+. Upstream fix commits are available at the kernel.org stable repository (see reference list). Ubuntu users should apply the updates in USN-8726-1 (https://ubuntu.com/security/notices/USN-8726-1) and USN-8727-1 (https://ubuntu.com/security/notices/USN-8727-1). Where patching is not immediately possible, restricting access to evdev device nodes via tightened udev rules (removing unprivileged users from the 'input' group, or setting /dev/input/event* permissions to root-only) prevents the EVIOCGKEYCODE/EVIOCSKEYCODE ioctl paths - note this breaks all user-space input event access for restricted users. The attention-interrupt OOB read path cannot be mitigated short of unloading the rmi_core module (rmmod rmi_core), which disables the touchpad entirely.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-48989 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy