Katalog CVE

CVE-2026-64297

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

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

Streszczenie

W jądrze Linux w mechanizmie dekompresji modułów występuje brak sprawdzenia wartości zwracanej przez funkcję module_extend_max_pages(). W przypadku niepowodzenia alokacji pamięci, wskaźnik info->pages pozostaje NULL, a info->max_pages wynosi 0, co prowadzi do dereferencji wskaźnika ZERO_SIZE_PTR i awarii jądra (kernel oops).

Ocena ryzyka

Brak sprawdzenia błędu alokacji może prowadzić do awarii jądra podczas ładowania modułów, co może skutkować odmową usługi (DoS) dla systemu.

Rekomendacja

Zaleca się aktualizację jądra Linux do wersji zawierającej poprawkę dodającą sprawdzenie wartości zwracanej przez module_extend_max_pages() i natychmiastowe zakończenie w przypadku błędu.

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: module: decompress: check return value of module_extend_max_pages() module_extend_max_pages() calls kvrealloc() internally and returns -ENOMEM on allocation failure. The return value is never checked. If the initial allocation fails, info->pages remains NULL and info->max_pages remains 0. Subsequent calls to module_get_next_page() will attempt to dynamically grow the array by calling module_extend_max_pages(info, 0) since info->used_pages is 0. This results in kvrealloc(NULL, 0) returning ZERO_SIZE_PTR, which is treated as a success, leading to a dereference of ZERO_SIZE_PTR and a kernel oops. Fix: add the missing error check after module_extend_max_pages() and return immediately on failure. This matches the pattern used by every other kvrealloc() caller in the module loading path. [Sami: Corrected the analysis in the commit message.]

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