CVE-2026-80971 in Linuxinformation

Résumé

par VulDB • 12/09/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

ALSA : bcd2000 - effacer les pointeurs URB lors de la déconnexion

bcd2000_free_usb_related_resources() libère à la fois les URB et laisse les pointeurs en place :

usb_kill_urb(bcd2k->midi_out_urb); usb_kill_urb(bcd2k->midi_in_urb);

usb_free_urb(bcd2k->midi_out_urb); usb_free_urb(bcd2k->midi_in_urb);

Le périphérique rawmidi survit à cet appel. Une sous-stream encore ouverte lorsque le périphérique est débranché atteint bcd2000_midi_send() depuis le chemin de déclenchement lors de la fermeture. Cette fonction écrit dans l'URB libéré puis le transmet au noyau USB :

bcd2k->midi_out_urb->transfer_buffer_length = BUFSIZE; ... ret = usb_submit_urb(bcd2k->midi_out_urb, GFP_ATOMIC);

usb_kill_urb() n'arrête pas non plus une soumission ultérieure, de sorte qu'une soumission qui entre en concurrence avec la déconnexion peut réenfiler l'URB après sa récupération. midi_in_urb est exposé de manière identique : bcd2000_input_complete() le resoumet depuis le gestionnaire d'achèvement.

KASAN sur 7.2.0-rc5 (arm64) :

BUG: KASAN: slab-use-after-free in bcd2000_midi_send [snd_bcd2000]
Write of size 4 at addr ffff00001827d388 by task bpoc/168 __asan_store4 bcd2000_midi_send [snd_bcd2000]
bcd2000_midi_output_trigger [snd_bcd2000]
snd_rawmidi_kernel_write1 close_substream.part.0 Freed by task 168: usb_free_urb bcd2000_disconnect [snd_bcd2000]

BUG: KASAN: slab-use-after-free in usb_submit_urb Read of size 8 at addr ffff00001827d3b8 by task bpoc/168

Effacer les deux pointeurs après la libération et les tester sur les chemins qui peuvent encore s'exécuter. Empoisonner les URB avant de les libérer : usb_poison_urb() attend qu'un gestionnaire d'achèvement en cours s'exécute et rejette toute soumission ultérieure, donc après son retour, le chemin d'entrée est apaisé et seul le chemin de déclenchement rawmidi peut encore atteindre bcd2000_midi_send(). Aucun dés-empoisonnement n'est nécessaire ; les URB sont libérés à la ligne suivante.

Découvert par XBOW, trié par Baul Lee <[email protected]>

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Réserver

26/08/2026

Divulgation

11/09/2026

Modérer

accepté

Entrée

VDB-402645

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!