Odebrany

CVE-2026-90024

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ę:

usb: gadżet: midi2: Napraw dereferencję wskaźnika zerowego w f_midi2_free_ep_reqs

Podczas próby f_midi2_free_ep_reqs() następuje wyłuskanie wskaźnika zerowego
aby oczyścić punkt końcowy, który nigdy nie został zainicjowany.

Podczas konfigurowania gadżetu MIDI 2.0 za pomocą plików configfs i ustawiania bloku
kierunek do SNDRV_UMP_DIR_INPUT, inicjalizacja midi1_ep_out
punkt końcowy jest jawnie pomijany podczas fazy wiązania gadżetu
(f_midi2_bind()). W rezultacie pole usb_ep->card pozostaje NULL.

Później, gdy host ustawi alternatywne ustawienie, f_midi2_set_alt()
bezwarunkowo zatrzymuje punkty końcowe IN i OUT poprzez wywołanie
f_midi2_stop_eps(), która z kolei wywołuje f_midi2_free_ep_reqs() dla obu
punkty końcowe. Kiedy f_midi2_free_ep_reqs() jest wywoływana dla niezainicjowanego
midi1_ep_out, próbuje wyrejestrować kartę usb_ep->, aby określić
liczba żądań zwolnienia, co prowadzi do awarii.

Napraw ten problem, używając usb_ep->num_reqs zamiast usb_ep->card->info.num_reqs
w f_midi2_free_ep_reqs(). usb_ep->num_reqs jest poprawnie ustawione podczas
f_midi2_init_ep() i pozostaje 0, jeśli punkt końcowy nigdy nie został zainicjowany,
bezpiecznie unikając pętli. Aby zachować spójność, zastosuj tę samą zmianę do
f_midi2_alloc_ep_reqs().

Ups: ogólny błąd ochrony, prawdopodobnie dla adresu niekanonicznego
0xdffffc00000000ee: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref w zakresie [0x0000000000000770-0x0000000000000777]
...
RIP: 0010:f_midi2_free_ep_reqs sterowniki/usb/gadget/function/f_midi2.c:1166
[w linii]
RIP: 0010:f_midi2_stop_eps+0x28e/0x4d0
sterowniki/usb/gadżet/funkcja/f_midi2.c:1246
...
Zadzwoń do śledzenia:
<ZADANIE>
f_midi2_set_alt+0x11c/0xf00 sterowniki/usb/gadget/function/f_midi2.c:1296
kompozyt_setup+0x1ffd/0x3480 sterowniki/usb/gadget/composite.c:1933
configfs_composite_setup+0xbd/0x100 sterowniki/usb/gadget/configfs.c:1877

>_ 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