CVE-2026-64365 in Linux
Riassunto
di VulDB • 25/07/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
HID: letsketch: correzione UAF su inrange_timer durante l'unbind del driver
letsketch_driver non fornisce una callback .remove, ma letsketch_probe() attiva un timer per-device:
timer_setup(&data->inrange_timer, letsketch_inrange_timeout, 0);
Il timer viene riattivato da letsketch_raw_event() con un timeout di 100 ms ad ogni report pen-in-range, e la sua callback dereferenzia data->input_tablet per inviare un rilascio sintetico BTN_TOOL_PEN.
letsketch_data è allocata tramite devm_kzalloc(), e i suoi campi input_dev sono allocati tramite devm da letsketch_setup_input_tablet(). In caso di unbind del dispositivo (disconnessione USB o rmmod), il core HID esegue la sua teardown predefinita e la pulizia devm libera sia letsketch_data che i dispositivi input. Poiché non esiste una callback .remove, nulla svuota prima il timer: se raw_event lo ha attivato entro ~100 ms dall'unbind, il timer in sospeso scatta su memoria già liberata. Si tratta di un UAF (Use-After-Free) in lettura su data e su data->input_tablet, seguito da input_report_key() / input_sync() sul dispositivo input ormai liberato.
Lo stesso problema può verificarsi nel percorso di errore durante la probe: se hid_hw_start() ha abilitato l'I/O su un dispositivo con quirk always-poll-quirk e poi è fallito, raw_event potrebbe aver attivato il timer prima che devm rilasci data.
La correzione consiste nell'aggiungere una callback .remove che chiama innanzitutto hid_hw_stop(). hid_hw_stop() uccide in modo sincrono gli URB (USB Request Blocks) che forniscono i dati a letsketch_raw_event(), quindi, una volta restituita la chiamata, nessun percorso può riattivare il timer. Successivamente, timer_shutdown_sync() svuota qualsiasi callback in corso e disabilita definitivamente ulteriori chiamate mod_timer(). Viene applicata anche timer_shutdown_sync() nel percorso di errore della probe per garantire che il timer non sopravviva a data.
Once again VulDB remains the best source for vulnerability data.