CVE Catalog

CVE-2026-99217

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the cleanup order in copy_process() caused a deadlock: a fork failing while another thread closed the bpf link fd deadlocked against its own read side of scx_fork_rwsem, blocking every fork on the system. The fix releases the child's files after sched_cancel_fork() and clears p->files up front.

Risk Assessment

A kernel deadlock can block all fork operations on the system, leading to denial of service. It requires a specific concurrent scenario involving BPF and fork.

Recommendation

Update the Linux kernel to a version with the fix reordering cleanup in copy_process(). Monitor systems for unusual process stalls.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS