CVE-2026-99217
NieznaneStreszczenie
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- CVE-2026-58942Wysokie
W funkcji do_fault_around pliku memory.c występuje możliwe użycie po zwolnieniu (use after free) spowodowane błędem logicznym w kodzie. Może to doprowadzić do lokalnej eskalacji uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58847Nieznane
W funkcji kvm_vfio_pviommu_attach w pliku vfio.c występuje możliwość podwójnego zwolnienia (double free) wynikająca z błędu logicznego w kodzie. Może to prowadzić do lokalnego podniesienia uprawnień bez konieczności posiadania dodatkowych uprawnień. Do wykorzystania nie jest wymagana interakcja użytkownika.
- CVE-2026-58829Wysokie
W funkcji fuse_backing_mmap pliku backing.c występuje możliwość uszkodzenia pamięci z powodu użycia po zwolnieniu (use after free). Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58828Wysokie
W wielu funkcjach pliku base.c występuje możliwość użycia po zwolnieniu (use after free) z powodu warunku wyścigu. Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58827Wysokie
W wielu funkcjach pliku dma-buf.c występuje możliwość użycia po zwolnieniu (use after free) z powodu warunku wyścigu. Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58826Wysokie
W funkcji ksys_unshare pliku fork.c występuje możliwość uszkodzenia pamięci z powodu użycia po zwolnieniu (use after free). Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58825Wysokie
W wielu funkcjach pliku fork.c występuje możliwość użycia po zwolnieniu (use after free) z powodu błędu logicznego w kodzie. Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-99242Nieznane
W jądrze Linux naprawiono wyścig w systemie plików NTFS między fallocate a odczytami przez mmap. Fallocate brał invalidate_lock tylko dla operacji punch hole, collapse range i insert range, a przy standardowej alokacji nowe klastry były mapowane przed wyzerowaniem, co pozwalało równoległym błędom stron mmap odczytać niezainicjalizowane dane z dysku.
- CVE-2026-99241Nieznane
W jądrze Linux naprawiono brak blokady w ntfs_filemap_page_mkwrite(), która wywoływała iomap_page_mkwrite() bez trzymania mapping->invalidate_lock. Równoległy truncate lub fallocate mógł w tym czasie unieważniać pagecache i przepisywać runlist, powodując wyścig z mapowaniem bloków i zabrudzaniem folio.
- CVE-2026-99240Nieznane
W jądrze Linux w podsystemie DAMON (mm/damon/core) występuje błąd dzielenia przez zero, gdy cel kwoty DAMOS (damos_quota_goal) ma wartość target_value równą zero. Poprawka przenosi obsługę tego przypadku do warstwy rdzeniowej, dodając walidację w funkcji damos_commit_quota_goal(), która teraz zwraca błąd przy zerowej wartości docelowej.
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

