Katalog CVE

CVE-2026-99217

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux kolejność sprzątania w copy_process() powodowała zakleszczenie: fork kończący się niepowodzeniem, gdy inny wątek zamknął fd linku bpf, blokował się na własnej stronie odczytu scx_fork_rwsem, blokując wszystkie forki w systemie. Poprawka zwalnia pliki dziecka po sched_cancel_fork() i czyści p->files z góry.

Ocena ryzyka

Możliwe jest zakleszczenie jądra blokujące wszystkie operacje fork w systemie, prowadzące do odmowy usługi. Wymaga to określonego współbieżnego scenariusza z BPF i fork.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką zmieniającą kolejność sprzątania w copy_process(). Monitoruj systemy pod kątem nietypowych blokad procesów.

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: fork: release the files of a failed fork after sched_cancel_fork() Reorder copy_process() cleanup so sched_fork() taking scx_fork_rwsem scx_pre_fork() is safe and isn't held around exiting files. Right now, a fork that fails while another thread closed the bpf link fd will deadlock against its own read side. It also blocks every fork on the system: copy_process() holds scx_fork_rwsem for read exit_files() close_files() filp_close_sync() bpf_scx_unreg() kthread_flush_work() waits for the disable work scx_root_disable() percpu_down_write(&scx_fork_rwsem) Simply release the child's files after sched_cancel_fork() dropped the lock. The task starts out as a copy of its parent so p->files points to the parent's table until copy_files() replaces it. exit_files() must not run for a fork that failed before that. Clear p->files up front so exit_files() is a no-op for those and make copy_files() set it explicitly for CLONE_FILES.

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