Odebrany

CVE-2026-80971

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

ALSA: bcd2000: wyczyść wskaźniki URB przy rozłączaniu

bcd2000_free_usb_lated_resources() zwalnia oba URB i pozostawia
wskazówki za:

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);

Urządzenie rawmidi przetrwa to wezwanie. Podstrumień, który jest nadal otwarty
gdy urządzenie jest odłączone, osiąga bcd2000_midi_send() z
ścieżka wyzwalania przy zamykaniu. Ta funkcja zapisuje do zwolnionego URB, a następnie
przekazuje go do rdzenia USB:

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

usb_kill_urb() również nie zatrzymuje późniejszego przesłania, więc prześlij to
wyścigi, rozłączenie może ponownie umieścić URB w kolejce po jego odebraniu.
midi_in_urb jest ujawniany w ten sam sposób: bcd2000_input_complete() przesyła ponownie
go z modułu obsługi zakończenia.

KASAN na 7.2.0-rc5 (arm64):

BŁĄD: KASAN: użycie płyty po zwolnieniu w bcd2000_midi_send [snd_bcd2000]
Zapisz rozmiar 4 pod adresem ffff00001827d388, wykonując zadanie bpoc/168
__asan_store4
bcd2000_midi_send [snd_bcd2000]
bcd2000_midi_output_trigger [snd_bcd2000]
snd_rawmidi_kernel_write1
zamknij_substream.część.0
Uwolniony przez zadanie 168:
usb_free_urb
bcd2000_disconnect [snd_bcd2000]

BŁĄD: KASAN: użycie płyty po zwolnieniu w usb_submit_urb
Odczytaj rozmiar 8 pod adresem ffff00001827d3b8 w zadaniu bpoc/168

Po uwolnieniu wyczyść oba wskaźniki i przetestuj je na ścieżkach, które to umożliwiają
nadal biegać. Zatruj URB przed ich uwolnieniem: usb_poison_urb() czeka
dla działającej procedury obsługi zakończenia i odrzuca wszelkie późniejsze przesłania, więc
po powrocie ścieżka wejściowa jest wyciszana i działa tylko wyzwalacz rawmidi
ścieżka może nadal dotrzeć do bcd2000_midi_send(). Nie jest potrzebne żadne odtrucie; the
URB są zwalniane w następnej linii.

Odkryte przez XBOW, sprawdzone przez Baula Lee <[email protected]>

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org