Katalog CVE

CVE-2024-41085

ŚrednieCVSS 5.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.21%

Percentyl 10 - wyżej niż 10% wszystkich znanych CVE

Streszczenie

W jądrze Linux wykryto podatność w podsystemie CXL dotyczącą automatycznego składania regionów pamięci trwałej (pmem). Podczas badania portu endpointa CXL, próba automatycznego złożenia regionu pmem prowadziła do wyłuskania pustego wskaźnika (NULL pointer dereference), ponieważ wymagany obiekt cxl_nvd nie był jeszcze zarejestrowany. Problem został naprawiony poprzez zmianę kolejności rejestracji cxl_nvd oraz dodanie parametru portu do funkcji cxl_find_nvdimm_bridge(), aby umożliwić wyszukiwanie wspólnego przodka.

Ocena ryzyka

Podatność może powodować awarię systemu (kernel panic) podczas automatycznego wykrywania i konfigurowania pamięci trwałej CXL, co prowadzi do niedostępności systemu lub uszkodzenia danych. Atakujący z lokalnym dostępem może celowo wywołać ten scenariusz, aby przeprowadzić atak DoS.

Rekomendacja

Zaleca się natychmiastowe zaktualizowanie jądra Linux do wersji zawierającej poprawkę dla CVE-2024-41085. Należy monitorować komunikaty o błędach związanych z CXL i unikać automatycznego montowania regionów pmem do czasu zastosowania poprawki.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: cxl/mem: Fix no cxl_nvd during pmem region auto-assembling When CXL subsystem is auto-assembling a pmem region during cxl endpoint port probing, always hit below calltrace. BUG: kernel NULL pointer dereference, address: 0000000000000078 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page RIP: 0010:cxl_pmem_region_probe+0x22e/0x360 [cxl_pmem] Call Trace: <TASK> ? __die+0x24/0x70 ? page_fault_oops+0x82/0x160 ? do_user_addr_fault+0x65/0x6b0 ? exc_page_fault+0x7d/0x170 ? asm_exc_page_fault+0x26/0x30 ? cxl_pmem_region_probe+0x22e/0x360 [cxl_pmem] ? cxl_pmem_region_probe+0x1ac/0x360 [cxl_pmem] cxl_bus_probe+0x1b/0x60 [cxl_core] really_probe+0x173/0x410 ? __pfx___device_attach_driver+0x10/0x10 __driver_probe_device+0x80/0x170 driver_probe_device+0x1e/0x90 __device_attach_driver+0x90/0x120 bus_for_each_drv+0x84/0xe0 __device_attach+0xbc/0x1f0 bus_probe_device+0x90/0xa0 device_add+0x51c/0x710 devm_cxl_add_pmem_region+0x1b5/0x380 [cxl_core] cxl_bus_probe+0x1b/0x60 [cxl_core] The cxl_nvd of the memdev needs to be available during the pmem region probe. Currently the cxl_nvd is registered after the endpoint port probe. The endpoint probe, in the case of autoassembly of regions, can cause a pmem region probe requiring the not yet available cxl_nvd. Adjust the sequence so this dependency is met. This requires adding a port parameter to cxl_find_nvdimm_bridge() that can be used to query the ancestor root port. The endpoint port is not yet available, but will share a common ancestor with its parent, so start the query from there instead.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS