CVE-2026-99075
NieznaneStreszczenie
W jądrze Linux w module rust_binder występuje błąd związany z aktualizacją licznika referencji węzła przy zakończeniu wątku. Gdy wątek kończy się przez BINDER_THREAD_EXIT, oczekująca aktualizacja licznika referencji mogła zostać utracona, ponieważ funkcje Node::cancel() i NodeWrapper::cancel() były puste. Prowadzi to do desynchronizacji stanu dostarczania węzła i braku powiadomienia przestrzeni użytkownika, przez co węzeł może nigdy nie zostać zwolniony.
Ocena ryzyka
Może dojść do wycieku zasobów (węzłów) w jądrze, co przy długotrwałym działaniu może prowadzić do wyczerpania pamięci lub niestabilności systemu. Wpływa na systemy korzystające z rust_binder.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej poprawkę implementującą DeliverToRead::cancel() dla Node i NodeWrapper. Zaleca się priorytetowe wdrożenie na systemach z Androidem lub innymi środowiskami korzystającymi z Binder.
Inne podatności w Linux kernel
Zobacz wszystkie- CVE-2026-99087Nieznane
W jądrze Linux w dm-integrity występuje błąd, który powoduje dereferencję wskaźnika NULL, gdy urządzenie ma ustawioną flagę SB_FLAG_DIRTY_BITMAP i jest aktywowane w trybie 'R'. Funkcja dm_integrity_resume próbuje odczytać dziennik zawierający bitmapę, co prowadzi do awarii. Poprawka pomija zapisy do urządzenia w trybie 'R' podczas wznawiania.
- CVE-2026-99086Nieznane
W jądrze Linux dm-integrity nie waliduje superbloku podczas wznawiania urządzenia, co pozwala użytkownikowi zmodyfikować superblok na nośniku podczas zawieszenia urządzenia. Może to prowadzić do niezgodności rozmiarów struktur w pamięci i zapisu poza dziennik, w tym zapisu 512 bajtów przez wskaźnik NULL. Poprawka zapisuje zwalidowany superblok w konstruktorze i odmawia wznowienia, jeśli geometria na dysku uległa zmianie.
- CVE-2026-99085Nieznane
W jądrze Linux naprawiono błąd w schedulerze sched_ext, który powodował zawieszenie przy wyłączaniu CPU, gdy zadania wygasającego procesora pozostawały w kolejce BPF schedulera. Zadania te były nadal liczone w runqueue, ale nieaktywny CPU nie wywoływał ops.dispatch() i nie mógł ich przejąć, co blokowało wątek hotplug i cpu_down() trzymający cpu_hotplug_lock. Poprawka ponownie kolejkuje zadania z offline'owanego rq na lokalny DSQ, aby balance_push() mógł je przenieść.
- CVE-2026-99084Nieznane
W jądrze Linux naprawiono problem w iterate_dir(), gdzie blokada i_rwsem katalogu była trzymana podczas odczytu katalogu, nawet jeśli katalog jest niezmienny i nigdy nie jest usuwany. Dla katalogu instancji nullfs (współdzielonego przez wiele przestrzeni nazw montowania i wątków jądra) złośliwy czytelnik mógł zablokować tę blokadę na dowolnie długo, blokując operacje mkdir, wyszukiwania i montowania dla innych użytkowników. Dodano flagę FOP_IMMUTABLE, która pozwala pominąć blokadę dla takich katalogów.
- CVE-2026-99080Nieznane
W jądrze Linux w funkcji clear_inode() występuje wyciek węzłów xarray, który można wywołać m.in. przez madvise. Zamiast naprawiać wycieki w miejscach ich powstawania, poprawka wywołuje xa_destroy(), co dodatkowo cyklicznie zwalnia i pobiera blokadę i_pages.
- CVE-2026-99076Nieznane
W jądrze Linux naprawiono podatność w obsłudze IPv6/UDP, która pozwalała atakującemu spoza ścieżki na atak side-channel na pamięć podręczną wyjątków (exception cache). Poprzednio wyjątek był tworzony tylko wtedy, gdy pakiet UDP dało się dopasować do istniejącego gniazda, co umożliwiało odkrycie efemerycznego portu używanego przez połączone gniazdo UDP. Poprawka polega na zawsze tworzeniu wyjątku przed próbą dopasowania gniazda.
- CVE-2026-99074Nieznane
W jądrze Linux w podsystemie IPv4 występuje błąd use-after-free/null-ptr-deref podczas aktualizacji PMTU, gdy grupa nexthop ulega zmniejszeniu. Funkcja __ip_rt_update_pmtu() iteruje po ścieżkach, a równoległa zamiana grupy nexthop może spowodować, że fib_info_nhc() zwróci NULL, co jest następnie dereferencjonowane w update_or_create_fnhe(). Wymaga to uprawnień CAP_NET_ADMIN w przestrzeni nazw sieci, ale w środowiskach z nieuprzywilejowanymi przestrzeniami nazw użytkownika lokalny użytkownik może je uzyskać.
- CVE-2026-99073Nieznane
W jądrze Linux w podsystemie IPv4 występuje błąd null-ptr-deref podczas zrzutu wyjątków FIB, gdy grupa nexthop ulega zmniejszeniu. Funkcja fib_dump_info_fnhe() używa fib_info_num_path() jako granicy pętli, a następnie fib_info_nhc() niezależnie przeładowuje nh->nh_grp; jeśli RTM_NEWNEXTHOP zamieni grupę na mniejszą, fib_info_nhc() zwróci NULL i zrzut go zdereferencjonuje. Poprawka zatrzymuje iterację, gdy indeksowana ścieżka jest nieobecna.
- CVE-2026-99072Nieznane
W jądrze Linux w podsystemie IPv4 występuje błąd null-ptr-deref podczas obliczania rozmiaru powiadomienia o trasie, gdy grupa nexthop ulega zmniejszeniu. Funkcja fib_nlmsg_size() sprawdza fib_info_num_path() przed każdą iteracją, a następnie fib_info_nhc() niezależnie przeładowuje nh->nh_grp; jeśli RTM_NEWNEXTHOP zamieni grupę na mniejszą, fib_info_nhc() zwróci NULL i fib_nexthop_nlmsg_size() go zdereferencjonuje. Poprawka zatrzymuje obliczanie, gdy indeksowana ścieżka jest nieobecna.
- CVE-2026-99071Nieznane
W jądrze Linux w podsystemie IPv4 występuje fałszywe ostrzeżenie o wyścigu rozmiaru powiadomienia o trasie. Funkcja fib_alias_hw_flags_set() oblicza rozmiar skb za pomocą fib_nlmsg_size(), a następnie wypełnia go przez fib_dump_info() trzymając tylko RCU; równoległa zamiana może powiększyć grupę nexthop, powodując legalne zwrócenie -EMSGSIZE przez fib_dump_info(). Poprawka usuwa ostrzeżenie, ponieważ nie dowodzi ono błędu w obliczaniu rozmiaru.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: rust_binder: reschedule node refcount update on thread exit When a thread exits via BINDER_THREAD_EXIT, its pending work items are cancelled. If a thread exits while holding a pending node refcount increment (e.g. pushed as deferred work to that thread), the refcount increment was previously dropped because Node::cancel() and NodeWrapper::cancel() were no-ops. Dropping the refcount update leaves the node's delivery state and count state desynchronized, and userspace will not receive the notification, which can cause the node to never be freed from the process's nodes tree when all external references are dropped. Fix this by implementing DeliverToRead::cancel() for Node and NodeWrapper to move the pending refcount update to the process's work queue on thread exit so another thread can deliver it to userspace.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

