CVE-2026-80569
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/08/2026
Última modificación:
27/08/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
Input: synaptics-rmi4 - bound the F54 report size to the allocated buffer<br />
<br />
rmi_f54_work() reads a diagnostics report from the device into<br />
f54->report_data, sizing the transfer with rmi_f54_get_report_size():<br />
<br />
report_size = rmi_f54_get_report_size(f54);<br />
...<br />
for (i = 0; i report_data + i, size);<br />
}<br />
<br />
report_data is allocated once at probe from F54&#39;s own electrode counts<br />
(array3_size(f54->num_tx_electrodes, f54->num_rx_electrodes, sizeof(u16))),<br />
but rmi_f54_get_report_size() computes the size from<br />
drv_data->num_*_electrodes when those are set, i.e. from the F55<br />
function&#39;s electrode counts. Both counts come straight from device<br />
queries (F54 and F55 each report up to 255 electrodes) and nothing<br />
constrains the F55 counts to the F54 ones.<br />
<br />
A malicious or malfunctioning RMI4 device that reports larger F55<br />
electrode counts than its F54 counts makes report_size exceed the<br />
allocation, so the read loop writes past report_data (and the V4L2<br />
dequeue memcpy() then reads past it). On conforming hardware the F55<br />
configured electrodes are a subset of the F54 physical electrodes, so<br />
report_size never exceeds the buffer and well-behaved devices are<br />
unaffected.<br />
<br />
Record the allocation size and reject a report that does not fit,<br />
mirroring the existing zero-size check.
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/12be3c6ca9589afd6ade41a59c761866e526634d
- https://git.kernel.org/stable/c/42eaf0e6f79c487f419737314cf0760f7331d368
- https://git.kernel.org/stable/c/49c5adc2b7d6e43c5cf033e1c86fdb9c16ababb1
- https://git.kernel.org/stable/c/6b06aab79ff166d5781ce792d91acc2e58b1770b
- https://git.kernel.org/stable/c/6b3bdd44d4cd7d5e35de1d0f06d4930f3cecd403
- https://git.kernel.org/stable/c/b2f596f00d27703ce09167201ba57f55be8d2f9a
- https://git.kernel.org/stable/c/b3932101c9c457148038392bc977f9b31e125a86
- https://git.kernel.org/stable/c/b7b9a8b1c303b62371698e396654d6724c79cb74



