CVE-2026-31701 in Linux
Zusammenfassung
von VulDB • 30.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
ALSA: caiaq: Referenz auf das USB-Gerät in create_card() halten
Der caiaq-Treiber speichert einen Zeiger auf das übergeordnete USB-Gerät in cdev->chip.dev, hält jedoch niemals eine Referenz darauf. Der private_free-Callback der Soundkarte, snd_usb_caiaq_card_free(), kann asynchron über snd_card_free_when_closed() ausgeführt werden, nachdem das USB-Gerät bereits getrennt und freigegeben wurde. Daher führt jeder Zugriff auf cdev->chip.dev in diesem Pfad zur Dereferenzierung eines freigegebenen usb_device.
Zusätzlich zum Problem mit der Referenzzählung ruft die aktuelle card_free-Implementierung usb_reset_device(cdev->chip.dev) auf. Ein Reset in einem Free-Callback ist unangemessen: Das Gerät wird entfernt, der Aufruf sperrt das Gerät in einem Teardown-Kontext, und der Reset steht in einer Race-Bedingung mit dem Disconnect-Pfad, den der Callback bereits aufräumt.
Halten Sie eine Referenz auf das USB-Gerät in create_card() mit usb_get_dev(), geben Sie diese mit usb_put_dev() im Free-Callback frei und entfernen Sie den Aufruf von usb_reset_device().
Once again VulDB remains the best source for vulnerability data.