CVE-2026-97996
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
virtio: napraw użycie po zwolnieniu w unregister_virtio_device()
urządzenie_unregister() to urządzenie_del() plus put_device(). Kiedy rozmówca
nie zawiera żadnego dodatkowego odniesienia, które usuwa ostatnie i uruchamia wydanie
wywołanie zwrotne, które na kilka transportów zwalnia osadzoną pamięć
struct virtio_device znajduje się w środku. unregister_virtio_device() następnie wywołuje
virtio_debug_device_exit(), która odczytuje dev->debugfs_dir z uwolnionego
obiekt.
Dotknięte są transporty, których zwolnienie powoduje zwolnienie wywołania zwrotnego i których
usuń ścieżkę nie ma odniesienia: virtio_mmio, virtio_vdpa, virtio_uml,
mlxbf-tmfifo i virtio_ccw. virtio_pci nie ma na to wpływu, ponieważ
virtio_pci_remove() umieszcza wywołanie w nawiasach za pomocą funkcji get_device() i put_device().
Usuń wpisy debugfs, zanim urządzenie będzie mogło zniknąć. Są tylko
dostęp poprzez chroniony interfejs debugfs, tzw
debugfs_remove_recursive() czeka wcześniej na trwające operacje na plikach
powrót. Dlatego należy je zniszczyć, gdy urządzenie wciąż żyje
bezpieczny.
Reprodukowane w systemie Linux w trybie użytkownika z CONFIG_KASAN i CONFIG_VIRTIO_DEBUG
poprzez odłączenie urządzenia virtio-uml:
BŁĄD: KASAN: użycie płyty po zwolnieniu w virtio_debug_device_exit+0x36/0x4d
Odczytaj rozmiar 8 pod adresem 00000000616e0b10 przez zadanie init/1
__asan_report_load8_noabort
virtio_debug_device_exit+0x36/0x4d
wyrejestruj_virtio_device+0x48/0x75
virtio_uml_remove
platforma_usuń
urządzenie_release_driver_internal
unbind_store
Uwolniony przez zadanie 1:
wolne
virtio_uml_release_dev
wydanie_urządzenia
kobject_put
urządzenie_umieść
wyrejestruj_urządzenie
Po zastosowaniu tej opcji raport zniknął, a rozłączenie jest czyste.
>_ 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