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

Input: synaptics-rmi4 - bound the F54 report size to the allocated buffer

rmi_f54_work() reads a diagnostics report from the device into
f54->report_data, sizing the transfer with rmi_f54_get_report_size():

report_size = rmi_f54_get_report_size(f54);
...
for (i = 0; i < report_size; i += F54_REPORT_DATA_SIZE) {
int size = min(F54_REPORT_DATA_SIZE, report_size - i);
...
rmi_read_block(.., f54->report_data + i, size);
}

report_data is allocated once at probe from F54's own electrode counts
(array3_size(f54->num_tx_electrodes, f54->num_rx_electrodes, sizeof(u16))),
but rmi_f54_get_report_size() computes the size from
drv_data->num_*_electrodes when those are set, i.e. from the F55
function's electrode counts. Both counts come straight from device
queries (F54 and F55 each report up to 255 electrodes) and nothing
constrains the F55 counts to the F54 ones.

A malicious or malfunctioning RMI4 device that reports larger F55
electrode counts than its F54 counts makes report_size exceed the
allocation, so the read loop writes past report_data (and the V4L2
dequeue memcpy() then reads past it). On conforming hardware the F55
configured electrodes are a subset of the F54 physical electrodes, so
report_size never exceeds the buffer and well-behaved devices are
unaffected.

Record the allocation size and reject a report that does not fit,
mirroring the existing zero-size check.
Published: 2026-08-26
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The Linux kernel synaptics‑rmi4 driver contains a buffer overflow that occurs when a connected RMI4 device reports more electrodes in its F55 function than it actually has in its F54 function. The driver allocates a data buffer based on the F54 electrode count but calculates the amount of data to read using the potentially larger F55 count. If the counts differ, the read loop writes beyond the end of the allocated buffer, corrupting kernel memory. Attackers who can supply a malicious or misbehaving touchpad interface that advertises an inflated electrode count can trigger this overflow and potentially execute arbitrary code with kernel privileges, leading to full host compromise.

Affected Systems

Any Linux kernel that includes the synaptics‑rmi4 driver is subject to this flaw, regardless of distribution. The driver is part of the core kernel source, and no specific kernel version range is provided in the advisory, so all kernels lacking the patch that introduced the bounds check are potentially vulnerable. Systems equipped with Synaptics RMI4 touchpads or other devices exposing an RMI4 interface are at risk when the driver is active.

Risk and Exploitability

The CVSS score of 7.8 denotes high severity, and the EPSS score of < 1% indicates a very low exploitation probability. Although current data does not indicate widespread exploitation, the vulnerability enables kernel memory corruption, a critical risk. Exploitation requires a malicious or tampered RMI4 device that advertises anomalous electrode counts. An attacker would need physical access to or otherwise control a connected touchpad device. The flaw is not listed in the CISA KEV catalog, but the high severity warrants prompt mitigation.

Generated by OpenCVE AI on August 28, 2026 at 17:41 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that incorporates the synaptics‑rmi4 patch committed in 2026.
  • If an upgrade is not immediately possible, unload or block the synaptics‑rmi4 module with modprobe -r or by disabling the driver in the kernel configuration to prevent the vulnerable code from loading.
  • Whenever the driver is required, verify that connected RMI4 devices originate from trusted vendors and that firmware integrity is maintained; consider implementing device trust checks or secure attachment enforcement.

Generated by OpenCVE AI on August 28, 2026 at 17:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4777-1 linux security update
History

Fri, 28 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-120
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 27 Aug 2026 11:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Thu, 27 Aug 2026 09:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787

Thu, 27 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Wed, 26 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787

Wed, 26 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - bound the F54 report size to the allocated buffer rmi_f54_work() reads a diagnostics report from the device into f54->report_data, sizing the transfer with rmi_f54_get_report_size(): report_size = rmi_f54_get_report_size(f54); ... for (i = 0; i < report_size; i += F54_REPORT_DATA_SIZE) { int size = min(F54_REPORT_DATA_SIZE, report_size - i); ... rmi_read_block(.., f54->report_data + i, size); } report_data is allocated once at probe from F54's own electrode counts (array3_size(f54->num_tx_electrodes, f54->num_rx_electrodes, sizeof(u16))), but rmi_f54_get_report_size() computes the size from drv_data->num_*_electrodes when those are set, i.e. from the F55 function's electrode counts. Both counts come straight from device queries (F54 and F55 each report up to 255 electrodes) and nothing constrains the F55 counts to the F54 ones. A malicious or malfunctioning RMI4 device that reports larger F55 electrode counts than its F54 counts makes report_size exceed the allocation, so the read loop writes past report_data (and the V4L2 dequeue memcpy() then reads past it). On conforming hardware the F55 configured electrodes are a subset of the F54 physical electrodes, so report_size never exceeds the buffer and well-behaved devices are unaffected. Record the allocation size and reject a report that does not fit, mirroring the existing zero-size check.
Title Input: synaptics-rmi4 - bound the F54 report size to the allocated buffer
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-27T05:01:53.135Z

Reserved: 2026-08-26T14:34:25.768Z

Link: CVE-2026-80569

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T15:17:12.457

Modified: 2026-08-27T06:17:42.103

Link: CVE-2026-80569

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-26T00:00:00Z

Links: CVE-2026-80569 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T17:45:04Z

Weaknesses
  • CWE-120

    Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')