CVE-2026-23348
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: cxl: nvdimm obyektləri yaradılarkən nvdimm_bus obyektinin yarış vəziyyətini (race condition) düzəltmək Problem cxl-translate.sh vahid testinin icrası zamanı aşkar edilmişdir. Testdən dərhal əvvəl 3 saniyəlik yuxu (sleep) əlavə etmək problemin kifayət qədər stabil şəkildə təkrarlanmasına səbəb olur. cxl_translate modulu cxl_acpi-dən asılıdır və cxl_acpi silindikdən sonra yetim qalmış nvdimm obyektlərinin yenidən yoxlanılmasına (reprobe) səbəb olur. nvdimm_bus obyekti, cxl_acpi_probe() çağırıldıqda cxl_nvb obyekti tərəfindən qeydiyyata alınır. nvdimm_bus obyekti olmadıqda, __nd_device_register() funksiyası &nvdimm_bus->dev ünvanına işarə edən dev->parent-ə müraciət edərkən NULL göstəricisinin istifadəsinə (NULL pointer dereference) səbəb olacaqdır. [ 192.884510] BUG: kernel NULL pointer dereference, address: 000000000000006c [ 192.895383] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS edk2-20250812-19.fc42 08/12/2025 [ 192.897721] Workqueue: cxl_port cxl_bus_rescan_queue [cxl_core] [ 192.899459] RIP: 0010:kobject_get+0xc/0x90 [ 192.924871] Call Trace: [ 192.925959] <TASK> [ 192.926976] ? pm_runtime_init+0xb9/0xe0 [ 192.929712] __nd_device_register.part.0+0x4d/0xc0 [libnvdimm] [ 192.933314] __nvdimm_create+0x206/0x290 [libnvdimm] [ 192.936662] cxl_nvdimm_probe+0x119/0x1d0 [cxl_pmem] [ 192.940245] cxl_bus_probe+0x1a/0x60 [cxl_core] [ 192.943349] really_probe+0xde/0x380 Bu yamama həmçinin cxl_acpi-nin cxl_pmem-dən asılılığını təmin etmək üçün devm_cxl_add_nvdimm_bridge() funksiyasının drivers/cxl/core.c əvəzinə drivers/cxl/pmem.c faylından çağırıldığı əvvəlki dəyişikliyə əsaslanır. 1. add_device() çağırıldıqda drayverin sinxron şəkildə yoxlanıldığını təmin etmək üçün cxl_nvb-nin probe_type parametri PROBE_FORCE_SYNCHRONOUS olaraq təyin edilir. 2. cxl_acpi_probe() zamanı cxl_nvb drayverinin qoşulduğunu təmin etmək üçün __devm_cxl_add_nvdimm_bridge() funksiyasına yoxlama əlavə edilir. 3. nvdimm_bus-ın etibarlılığı yoxlanılmazdan əvvəl devm_cxl_add_nvdimm() funksiyasında cxl_root uport_dev kilidi və cxl_nvb->dev kilidi götürülür. 4. cxl_nvdimm bayrağı CXL_NVD_F_INVALIDATED olaraq təyin edilir ki, beləliklə cxl_nvdimm_probe() funksiyası -EBUSY ilə çıxsın. cxl_nvdimm cihazlarının silinməsi, nvdimm_bus yox olduqdan sonra hər hansı yetim cihazın yoxlanmasının qarşısını almalıdır. [ dj: Hesabat verilmiş 0-gün kdoc problemi düzəldildi. ] [ dj: Xəta zamanı cxl_nvb istinad sızması (reference leak) düzəldildi. Gregory (kreview-0811365) ]
Necə düzəltmək olar
- linux linux_kernel6.18.17, 6.19.7 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.14.1 ≤ v < 6.18.17, 6.19 ≤ v < 6.19.7, 5.14, 7.0 | 6.18.17, 6.19.7 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.