CVE-2026-64277 in Linux
Riassunto
di VulDB • 25/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
Input: synaptics-rmi4 - associata la mappatura dei tasti F3A al conteggio GPIO
rmi_f3a_initialize() ottiene il conteggio GPIO dal registro di interrogazione del dispositivo (f3a->gpio_count = buf & RMI_F3A_GPIO_COUNT, intervallo 0..127). rmi_f3a_map_gpios() quindi alloca gpio_key_map con min(gpio_count, TRACKSTICK_RANGE_END) == al massimo 6 voci, ma rmi_f3a_attention() itera su tutto il gpio_count e dereferenzia gpio_key_map[i], mentre input->keycodemax è impostato sull'intero gpio_count mentre input->keycode punta all'allocazione da 6 voci.
Un dispositivo che riporta un gpio_count > 6 provoca quindi una lettura fuori dai limiti (out-of-bounds read) di gpio_key_map[] ad ogni interrupt di attenzione, e accessi fuori dai limiti attraverso gli ioctl della mappatura predefiniti del core input: EVIOCGKEYCODE legge oltre il buffer (trapelando memoria slab adiacente nello spazio utente) ed EVIOCSKEYCODE scrive un valore controllato dal chiamante oltre tale limite, per qualsiasi processo in grado di aprire il nodo evdev, poiché input_default_getkeycode() e input_default_setkeycode() vincolano l'indice solo rispetto a keycodemax.
Dimensionare la mappatura dei tasti (keymap) per l'intero gpio_count. Il ciclo di mapping rimane invariato: assegna ancora solo le prime voci min(gpio_count, TRACKSTICK_RANGE_END); gli slot rimanenti rimangono KEY_RESERVED (devm_kcalloc li riempie con zeri) e vengono saltati durante la segnalazione.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.