Odebrany

CVE-2026-90189

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

null_blk: zarejestruj podsystem configfs po utworzeniu urządzeń domyślnych

W null_init() aktualnie działa configfs_register_subsystem().
Register_blkdev(), więc gdy null_blk jest zbudowany jako moduł, wyścigowa mkdir()
+ włączenie zasilania z przestrzeni użytkownika może osiągnąć funkcję null_add_dev(), gdy null_major jest nieruchomy
0. __add_disk() następnie uderza WARN_ON(dysk->podrzędne) (główny=0 z podrzędnymi!=0)
i kończy się niepowodzeniem:

[root@fedora ~]# [2366.521436] OSTRZEŻENIE: block/genhd.c:476 w __add_disk+0x8a7/0xde0,
[ 2366.523552] Moduły powiązane w: null_blk(+) nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib
[2366.529081] Procesor: 26 UID: 0 PID: 1600 Comm: sh Nieskażony 7.2.0-rc1+ #66 PREEMPT (pełny)
......
[2366.547251] Śledzenie połączenia:
[ 2366.547575] <ZADANIE>
[2366.547831] ? _raw_spin_lock+0x84/0xe0
[ 2366.548260] add_disk_fwnode+0x114/0x560
[ 2366.548739] null_add_dev+0x102d/0x1b80 [null_blk]
[2366.549310] ? __pfx_null_add_dev+0x10/0x10 [null_blk]
[2366.549906] ? mutex_lock+0xde/0x1c0
[2366.550361] ? __pfx_mutex_lock+0x10/0x10
[ 2366.550827] nullb_device_power_store+0x1e7/0x280 [null_blk]
[2366.551499] ? __pfx_nullb_device_power_store+0x10/0x10 [null_blk]
[2366.552177] ? __kmalloc_cache_noprof+0x1f5/0x470
[2366.552748] ? configfs_write_iter+0x35c/0x4e0
[2366.553242] configfs_write_iter+0x286/0x4e0
[2366.553787] vfs_write+0x52d/0xd00
[2366.554169] ? __pfx_vfs_write+0x10/0x10
[2366.554679] ? __pfx___css_rstat_updated+0x10/0x10
[2366.555196] ? fdget_pos+0x1cf/0x4c0
[ 2366.555649] ksys_write+0xfc/0x1d0
......

Dodatkowo ścieżka err_dev niszczy wszystkie urządzenia na nullb_list while
configfs jest nadal zarejestrowany. Jeśli wyścigowe mkdir() + poweron umieści użytkownika
urządzenie na liście, null_destroy_dev()->null_free_dev() k uwalnia użytkownika
urządzenie nullb_device, ale /sys/kernel/config/nullb/<nazwa> jest nadal
osiągalny. Każdy dostęp do elementu w przestrzeni użytkownika spowoduje uruchomienie UAF.

Dla uproszczenia przenieś configfs_register_subsystem() na koniec, aby rozwiązać
powyższe problemy.

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