CVE-2026-89659
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
W jądrze Linux w module NFSD występuje podatność use-after-free podczas odwoływania delegacji. Funkcja nfs4_laundromat() usuwa wygasłą delegację z listy cl_delegations, zwalnia blokadę deleg_lock, a następnie revoke_delegation() próbuje użyć klienta, który mógł zostać już zwolniony. Brak przypięcia klienta przez cl_rpc_users umożliwia wyścig z niszczeniem klienta.
Ocena ryzyka
Możliwe jest doprowadzenie do awarii jądra lub potencjalnego wykonania kodu w kontekście jądra poprzez wywołanie wyścigu podczas odwoływania delegacji. Wpływa to na stabilność i bezpieczeństwo serwera NFS.
Rekomendacja
Zaktualizuj jądro Linux do wersji z poprawką, która przypina klienta przez cl_rpc_users na czas odwołania delegacji. Alternatywnie ogranicz możliwość wywoływania operacji delegacji przez niezaufanych klientów.
Inne podatności w Linux kernel
Zobacz wszystkie- CVE-2026-80923Nieznane
W jądrze Linuxa w sterowniku xhci: dbgtty, jeśli tty_register_driver() zakończy się niepowodzeniem, zwalnia referencję, ale nie ustawia globalnego wskaźnika dbc_tty_driver na NULL, co powoduje ponowne wywołanie unregister podczas wyjścia z modułu. Prowadzi to do użycia po zwolnieniu (use-after-free).
- CVE-2026-80922Nieznane
W jądrze Linuxa w module crypto: qcom-rng, generator liczb losowych nie zezwala na wygenerowanie zera jako wyniku, co czyni jego wyjście odróżnialnym od prawdziwie losowego. Zero jest poprawną liczbą losową i powinno być dozwolone.
- CVE-2026-80920Nieznane
W jądrze Linuxa w io_uring, sygnalizacja eventfd jest wykonywana inline, gdy dodawany jest pierwszy wpis do listy pracy, co może prowadzić do problemów, gdy dodanie następuje z kontekstu wakeup handlera. Poprawka dodaje flagę IOU_F_TWQ_IN_WAKE, aby wymusić odroczenie sygnalizacji przez call_rcu_hurry() zamiast sygnalizacji inline.
- CVE-2026-80919Nieznane
W jądrze Linux w sterowniku amdgpu wykryto podatność polegającą na rekurencyjnym blokowaniu mutexu w funkcji amdgpu_devcoredump_format(). Podczas zrzutu zawartości IB z zawieszonego zadania dochodzi do podwójnego zablokowania tego samego obiektu synchronizującego, co może prowadzić do zakleszczenia systemu. Problem został naprawiony przez przeniesienie operacji do osobnej funkcji używającej jednego kontekstu drm_exec.
- CVE-2026-80918Nieznane
W jądrze Linuxa w HID: core, występuje pomyłka typu liczby i wskaźnika dla długich elementów. Gdy fetch_item() jest wywoływany przez hid_scan_report() na elemencie z HID_ITEM_TAG_LONG, przechowuje wskaźnik do danych w item->data.longdata zamiast wartości. Funkcje item_udata() i item_sdata() błędnie zakładają format krótki, co prowadzi do ujawnienia dolnej części wskaźnika jądra jako liczby w dmesg.
- CVE-2026-80917Nieznane
W jądrze Linux wykryto podatność prowadzącą do wyłuskania wskaźnika NULL w sterowniku PCI host-generic na 32-bitowych systemach używających trybu CAM. Podczas skanowania magistrali PCI pierwszy odczyt konfiguracji używa niezainicjalizowanego mapowania, co powoduje awarię systemu (kernel panic). Problem dotyczy braku wywołań zwrotnych add_bus/remove_bus w operacjach CAM, które są wymagane do poprawnego mapowania przestrzeni konfiguracyjnej.
- CVE-2026-80916Nieznane
W jądrze Linux wykryto podatność w mechanizmie KCOV, powodującą uszkodzenie danych i wyścigi na systemach z włączonym PREEMPT_RT. Problem wynika z przechowywania tymczasowych danych stanu KCOV w obszarze per-CPU, co przy zagnieżdżonym przełączaniu kontekstu przez softirq prowadzi do nadpisania stanu. Dodatkowo, w pewnych warunkach inicjalizacji może dojść do awarii jądra lub wycieku pamięci.
- CVE-2026-80915Nieznane
W jądrze Linux w sterowniku drm/xe naprawiono ścieżki alokacji DPT. Usunięto mechanizm awaryjnego przełączania z pamięci VRAM na pamięć systemową, ponieważ nie działał poprawnie i powodował czarny ekran z błędami potoku. Dodatkowo uniknięto używania pamięci stolen ze względu na opóźnienia i ryzyko losowych zawieszeń systemu pod obciążeniem.
- CVE-2026-80886Nieznane
W jądrze Linux naprawiono podatność w sterowniku szeregowym msm, polegającą na wyłączeniu DMA dla konsoli UART. Jednoczesne zapisy z przestrzeni użytkownika i jądra mogą powodować wyścig, prowadzący do nieskończonej pętli drukowania tych samych komunikatów. Poprawka wyłącza DMA dla konsoli UART, aby zapewnić niezawodną ścieżkę wyjścia.
- CVE-2026-80885Nieznane
W jądrze Linux naprawiono problem w AFS dotyczący nieanulowanego handlera komunikatów OOB rxrpc. Poprawka anuluje przetwarzanie komunikatów OOB (zwykle w odpowiedzi na wyzwania bezpieczeństwa) oraz przenosi to przetwarzanie do kolejki afs_wq, aby było ono oczekiwane. Handler OOB zwraca teraz, jeśli przestrzeń nazw sieci nie jest już aktywna.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent client use-after-free during delegation revoke A delegation stateid holds only a bare pointer to its owning nfs4_client and does not keep it alive. The client survives its stateids only because __destroy_client() drains cl_delegations and cl_revoked before free_client() runs. nfs4_laundromat() breaks that invariant: it unhashes an expired delegation from cl_delegations, drops deleg_lock, then revoke_delegation() relinks it onto cl_revoked under cl_lock. In that window the delegation is on neither list, so client_has_state() can report no remaining state. Every teardown path first requires cl_rpc_users to be zero, but the laundromat holds no such reference. A client whose recalled delegation has just timed out can therefore reach free_client() while revoke_delegation() is still about to dereference cl_lock, a use-after-free. Pin the client with cl_rpc_users across the revoke so teardown blocks until it completes, then reap the delegation from cl_revoked. A client already expiring reaps its own, so skip it and leave the delegation on del_recall_lru.

