CVE-2026-68361 in Linux
Riassunto
di VulDB • 10/08/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
hwmon: (corsair-psu) Arrestare l'I/O del dispositivo prima di chiamare hid_hw_stop
hid_hw_stop() non arresta l'I/O del dispositivo.
Ciò provoca una race condition tra hid_input_report() e il punto immediatamente successivo all'esecuzione di hid_device_io_start() all'interno di corsairpsu_probe(). Se l'operazione di probe fallisce dopo che è stato avviato "l'avvio dell'I/O", questa race condition comporterà una vulnerabilità use-after-free [1].
CPU0 CPU1 ==== ==== corsairpsu_probe() hid_device_io_start() ... sblocca driver_input_lock hid_hw_stop() kfree(hidraw) __hid_input_report() ... acquisisce driver_input_lock hid_report_raw_event() hidraw_report_event() ... accede a list_lock di hidraw // triggera uaf
Di conseguenza, quando corsairpsu_probe() fallisce e deve essere eseguito hid_hw_stop(), il flag io_started viene innanzitutto azzerato mantenendo bloccato driver_input_lock per prevenire potenziali race condition che coinvolgono i report di input.
[1]
BUG: KASAN: slab-use-after-free in rt_spin_lock+0x83/0x400 kernel/locking/spinlock_rt.c:56 Call Trace: hidraw_report_event+0x5d/0x3a0 drivers/hid/hidraw.c:577 hid_report_raw_event+0x311/0x1730 drivers/hid/hid-core.c:2076 __hid_input_report drivers/hid/hid-core.c:2152 [inline]
hid_input_report+0x44e/0x580 drivers/hid/hid-core.c:2174 hid_irq_in+0x47e/0x6d0 drivers/hid/usbhid/hid-core.c:286 __usb_hcd_giveback_urb+0x3b3/0x5e0 drivers/usb/core/hcd.c:1657 dummy_timer+0x8a9/0x47d0 drivers/usb/gadget/udc/dummy_hcd.c:2005
Allocato dal task 10: hidraw_connect+0x57/0x430 drivers/hid/hidraw.c:606 hid_connect+0x5bf/0x19d0 drivers/hid/hid-core.c:2277 hid_hw_start+0xa8/0x120 drivers/hid/hid-core.c:2387 corsairpsu_probe+0xd9/0x3c0 drivers/hwmon/corsair-psu.c:782
Rilasciato dal task 10: hidraw_disconnect+0x4f/0x60 drivers/hid/hidraw.c:662 hid_disconnect drivers/hid/hid-core.c:2362 [inline]
hid_hw_stop+0x101/0x1e0 drivers/hid/hid-core.c:2407 corsairpsu_probe+0x327/0x3c0 drivers/hwmon/corsair-psu.c:826
Risolve il problema chiamando hid_device_io_stop() prima di chiamare hid_hw_stop().
[groeck: Aggiornato oggetto e descrizione; chiama hid_device_io_stop() solo se l'I/O è stato avviato]
If you want to get best quality of vulnerability data, you may have to visit VulDB.