CVE-2026-98837 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
ALSA: caiaq: deregistrare il dispositivo di input quando la fase di probe fallisce
La funzione setup_card() registra il dispositivo di input, i cui campi name e phys puntano a struct snd_usb_caiaqdev, e successivamente chiama snd_card_register() e snd_usb_caiaq_control_init(). Se una delle due operazioni fallisce, snd_probe() invoca snd_card_free(), che libera lo stato del device ma lascia registrato il dispositivo di input: card_free() si limita a azzerare il puntatore, mentre la deregistrazione del dispositivo di input avviene solo da snd_disconnect(). La lettura dell'attributo "uevent" successivamente provoca un dereferencing di memoria già liberata (use-after-free):
BUG: KASAN: slab-use-after-free in string+0x4a9/0x4f0 Read of size 1 at addr ffff8880208f5043 by task caiaq/4967 add_uevent_var+0x183/0x3a0 input_dev_uevent+0x162/0x900 dev_uevent+0x2f1/0x870 uevent_show+0x1ca/0x3a0 ...
Deregistrare il dispositivo di input nel percorso di errore del probe, come fa snd_disconnect(). La funzione snd_usb_caiaq_input_disconnect() è una no-op (operazione vuota) quando nessun dispositivo di input era stato registrato.
Riproducibile con un Audio Kontrol 1 in modalità raw-gadget e una modifica temporanea che provoca il fallimento di snd_usb_caiaq_control_init().
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.