CVE-2026-46173
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
W jądrze systemu Linux zidentyfikowano podatność, która pozwala na preempcję zadania oznaczonego jako TASK_DEAD podczas jego zakończenia. To może prowadzić do poważnych problemów z pamięcią, takich jak użycie po zwolnieniu lub podwójne zwolnienie stosu zadania.
Ocena ryzyka
Organizacje mogą być narażone na poważne błędy pamięci, co może prowadzić do awarii systemu lub nieautoryzowanego dostępu do danych. W szczególności, możliwość uruchomienia dwóch zadań na tym samym stosie stwarza ryzyko korupcji pamięci.
Rekomendacja
Zaleca się aktualizację jądra systemu Linux do najnowszej wersji, aby usunąć tę podatność. Należy również monitorować systemy pod kątem nietypowych zachowań związanych z zarządzaniem pamięcią.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: exit: prevent preemption of oopsing TASK_DEAD task When an already-exiting task oopses, make_task_dead() currently calls do_task_dead() with preemption enabled. That is forbidden: do_task_dead() calls __schedule(), which has a comment saying "WARNING: must be called with preemption disabled!". If an oopsing task is preempted in do_task_dead(), between becoming TASK_DEAD and entering the scheduler explicitly, bad things happen: finish_task_switch() assumes that once the scheduler has switched away from a TASK_DEAD task, the task can never run again and its stack is no longer needed; but that assumption apparently doesn't hold if the dead task was preempted (the SM_PREEMPT case). This means that the scheduler ends up repeatedly dropping references on the dead task's stack, which can lead to use-after-free or double-free of the entire task stack; in other words, two tasks can end up running on the same stack, resulting in various kinds of memory corruption. (This does not just affect "recursively oopsing" tasks; it is enough to oops once during task exit, for example in a file_operations::release handler)

