CVE-2026-80768
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: HID: ft260: corregir escritura stack-use-after-return en condición de carrera de lectura I2C ft260_i2c_read() apunta dev->read_buf a un búfer suministrado por el llamador (a menudo una variable en la pila), arma una completion y espera hasta cinco segundos a que el dispositivo devuelva los datos. El callback de entrada HID ft260_raw_event() se ejecuta en la ruta input/IRQ, independientemente del mutex dev->lock mantenido por la ruta de lectura, y copia el payload suministrado por el dispositivo en dev->read_buf tras una simple comprobación de NULL. Estas dos rutas comparten read_buf, read_idx y read_len sin serialización. Si el dispositivo retrasa su respuesta hasta que la lectura expira por tiempo de espera, ft260_i2c_read() restablece el controlador, borra read_buf y retorna, desenrollando el marco de pila en el que residía el búfer. Una respuesta que llega en ese momento permite a ft260_raw_event() superar la comprobación de NULL y luego copiar mediante memcpy() el payload controlado por el dispositivo en la ubicación de pila ahora liberada, una escritura stack-use-after-return acotada pero influenciada por el atacante desencadenable por hardware malicioso o defectuoso. Añadir un spinlock dedicado que serializa cada acceso a read_buf, read_idx y read_len. ft260_raw_event() ahora lo mantiene durante la comprobación de NULL, el memcpy y la actualización del índice, mientras que la ruta de lectura lo toma al armar y al borrar el búfer, de modo que la liberación ya no puede intercalarse entre la comprobación y la copia.
Artículos relacionados
This product uses the NVD API but is not endorsed or certified by the NVD.
La descripción técnica es una traducción nuestra del texto original de NVD, en inglés.
