Katalog CVE

CVE-2025-39910

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.15%

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

Streszczenie

W jądrze Linux funkcja kasan_populate_vmalloc() oraz jej funkcje pomocnicze ignorowały maskę gfp_mask wywołującego i zawsze alokowały pamięć z użyciem zaszytej flagi GFP_KERNEL. Powodowało to niespójność z vmalloc(), które obsługuje alokacje GFP_NOFS i GFP_NOIO, a wywołania xfs z GFP_NOFS mogły prowadzić do zakleszczenia.

Ocena ryzyka

Podatność może prowadzić do zakleszczenia (deadlock) systemu w scenariuszach, w których vmalloc jest wywoływane z flagą GFP_NOFS, np. przez system plików xfs. Skutkiem może być zawieszenie lub niedostępność usług na dotkniętym systemie.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która przekazuje gfp_mask do kasan_populate_vmalloc() i wymusza semantykę GFP_NOFS/GFP_NOIO. Po wdrożeniu zaleca się ponowne uruchomienie systemu.

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: mm/vmalloc, mm/kasan: respect gfp mask in kasan_populate_vmalloc() kasan_populate_vmalloc() and its helpers ignore the caller's gfp_mask and always allocate memory using the hardcoded GFP_KERNEL flag. This makes them inconsistent with vmalloc(), which was recently extended to support GFP_NOFS and GFP_NOIO allocations. Page table allocations performed during shadow population also ignore the external gfp_mask. To preserve the intended semantics of GFP_NOFS and GFP_NOIO, wrap the apply_to_page_range() calls into the appropriate memalloc scope. xfs calls vmalloc with GFP_NOFS, so this bug could lead to deadlock. There was a report here https://lkml.kernel.org/r/[email protected] This patch: - Extends kasan_populate_vmalloc() and helpers to take gfp_mask; - Passes gfp_mask down to alloc_pages_bulk() and __get_free_page(); - Enforces GFP_NOFS/NOIO semantics with memalloc_*_save()/restore() around apply_to_page_range(); - Updates vmalloc.c and percpu allocator call sites accordingly.

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