Odebrany

CVE-2026-99271

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: linia 6: Wyczyść prev_fbuf po zwolnieniu bufora przechwytywania

Zgłoszono odczyt dotyczący użycia płyty KASAN po zwolnieniu w funkcji Submit_audio_out_urb()
podczas generowania impulsowego sygnału testowego:

BŁĄD: KASAN: użycie płyty po zwolnieniu w create_impulse_test_signal sound/usb/line6/playback.c:76 [inline]
BŁĄD: KASAN: użycie płyty po zwolnieniu w Submit_audio_out_urb+0x1848/0x1b20 sound/usb/line6/playback.c:249
Odczytaj rozmiar 2 pod adresem ffff888008d74870 za pomocą zadania syz.2.3214/7785

Przydzielone przez zadanie 11:
kmem_cache_alloc_noprof+0x2f0/0x390 mm/slub.c:4144
line6_buffer_acquire+0x1a1/0x220 dźwięk/usb/line6/pcm.c:158
line6_pcm_acquire+0xb6/0x230 dźwięk/usb/line6/pcm.c:329
line6_startup_work+0x3c/0x50 dźwięk/usb/line6/driver.c:728

Uwolniony przez zadanie 7785:
kfree+0xf8/0x390 mm/slub.c:6566
line6_buffer_release sound/usb/line6/pcm.c:176 [inline]
line6_buffer_release+0xa5/0xf0 dźwięk/usb/line6/pcm.c:170
__line6_pcm_release dźwięk/usb/line6/pcm.c:305 [inline]
line6_pcm_release+0x5a/0x80 dźwięk/usb/line6/pcm.c:313
snd_toneport_monitor_put+0x11b/0x190 dźwięk/usb/line6/toneport.c:183

line6pcm->prev_fbuf wskazuje bufor strumienia PCM przechwytywania
(line6pcm->in.buffer), który jest aktualizowany podczas audio_in_callback() do
synchronizacja posuwu, monitorowanie oprogramowania i impulsowy sygnał testowy
generacji po stronie odtwarzania.

Kiedy wszystkie strumienie przechwytywania zostaną zamknięte, funkcja line6_buffer_release() zostaje zwolniona
pstr->bufor z kfree(). Jednak nie usuwa linii6pcm->prev_fbuf.
Jeżeli odtwarzanie zostanie później rozpoczęte (np. poprzez impulsowy sygnał testowy
regulacja głośności snd_line6_impulse_volume_put()), Submit_audio_out_urb()
dereferuje nieaktualny wskaźnik line6pcm->prev_fbuf w in.lock,
co skutkuje odczytem płyty po użyciu.

Wyczyść prev_fbuf i prev_fsize w line6_buffer_release() podczas zwalniania
bufor strumienia przechwytywania w in.lock, upewniając się, że nie ma przestarzałego bufora
Dostęp do wskaźnika można uzyskać za pomocą metody Submit_audio_out_urb().

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