CVE-2025-13350
WysokieStreszczenie
Podatność w jądrze Ubuntu Linux 6.8 (Noble Numbat) wynika z niekompletnego backportu poprawki dla AF_UNIX, przez co stary mechanizm odśmiecania (garbage collector) nieprawidłowo obsługuje gniazda MSG_OOB. Prowadzi to do użycia po zwolnieniu (use-after-free), co może zostać wykorzystane do lokalnej eskalacji uprawnień (LPE).
Ocena ryzyka
Atakujący z lokalnym dostępem do systemu może wykorzystać tę podatność do podniesienia uprawnień, co może prowadzić do pełnej kompromitacji systemu. Ryzyko jest wysokie, ponieważ podatność jest niezawodna i dotyczy domyślnych instalacji Ubuntu.
Rekomendacja
Zaleca się natychmiastową aktualizację jądra Ubuntu do wersji 6.8.0-84.84 lub nowszej, która zawiera poprawkę. Należy również rozważyć ograniczenie dostępu lokalnego do systemu, jeśli aktualizacja nie jest możliwa od razu.
Powiązane podatności
- CVE-2026-90049Krytyczne
W jądrze Linux naprawiono podatność w funkcji skb_zerocopy(), która nieprawidłowo wywoływała skb_tx_error() na źródłowym skb podczas kopiowania fragów. To powodowało zakończenie uarg zerocopy i wyczyszczenie flagi SKBFL_SHARED_FRAG na skb, który nadal był używany przez stos sieciowy. W szczególności na ścieżce OVS_ACTION_ATTR_USERSPACE skb nie był zwalniany po błędzie, co mogło prowadzić do dekryptowania danych ESP w miejscu, gdzie skb nie posiadał prywatnie fragów, co mogło powodować uszkodzenie danych lub inne problemy.
- CVE-2026-90042Krytyczne
W jądrze Linux wykryto podatność w systemie plików Ceph, gdzie funkcja ceph_fname_to_usr() przekazywała bufory z regionu vmalloc() do API kryptograficznego fscrypt, które wymaga buforów w liniowym obszarze pamięci. Może to powodować błędy (oops) systemu, szczególnie na platformach innych niż x86. Poprawka dodaje obsługę buforów vmalloc() poprzez użycie tymczasowego bufora pośredniego.
- CVE-2026-90038Krytyczne
W jądrze Linux funkcja nfsd4_revoke_export_states() zwalnia blokadę nn->client_lock, ale trzymany referencja stateid nie utrzymuje przy życiu klienta. Równoległe zakończenie klienta może zwolnić go, podczas gdy revoke_one_stid() nadal go używa, powodując use-after-free.
- CVE-2026-90037Krytyczne
W jądrze Linux wpis nfs4_openowner pozostawiony na nn->close_lru trzyma tylko surowy wskaźnik do nfs4_client. Gdy laundromat zwalnia wpisy, zwalnia blokadę client_lock i wywołuje nfs4_put_stid(), równoległe force_expire_client() może zwolnić klienta, powodując użycie zwolnionej pamięci.
- CVE-2026-90036Krytyczne
W jądrze Linux właściciel blokady pozostawiony na nn->blocked_locks_lru trzyma tylko surowy wskaźnik do nfs4_client. Gdy laundromat zwalnia taką blokadę, końcowe nfs4_put_stateowner() sięga po cl_lock klienta, którego równoległe force_expire_client() mogło już zwolnić, powodując use-after-free.
- CVE-2026-90012Krytyczne
W jądrze Linux w funkcji __spi_map_msg() występuje błąd w zarządzaniu własnością mapowań DMA przy częściowym niepowodzeniu mapowania. Gdy mapowanie RX lub TX się nie powiedzie, flagi i wskaźniki urządzeń nie są prawidłowo czyszczone, co może prowadzić do ponownego odmapowania lub użycia NULL/starego wskaźnika urządzenia. Może to wywołać oops jądra.
- CVE-2026-90011Krytyczne
W jądrze Linux w podsystemie scsi target iscsi funkcja iscsi_target_check_login_request() nie rezerwuje bajtu terminatora NUL dla bufora logowania. Przy payload_length od 8189 do 8192 cały bufor 8192 bajtów jest wypełniany, a następnie przetwarzany jako string C, co prowadzi do odczytu poza buforem. Podatność jest osiągalna przez nieuwierzytelnionego inicjatora przy konfiguracji CHAP.
- CVE-2026-89990Krytyczne
W jądrze Linux funkcja ceph_mds_check_access() przegląda tablicę s_cap_auths bez trzymania mutexa. Równoczesne ponowne otwarcie sesji MDS może zwolnić tę tablicę w trakcie jej przeglądania, prowadząc do użycia po zwolnieniu (use-after-free).
- CVE-2026-89972Krytyczne
W jądrze Linux w funkcji nvme_alloc_ns() ścieżka błędu usuwa namespace z listy rodzeństwa za pomocą list_del_rcu(), ale nie czeka na zakończenie czytelników SRCU przed zwolnieniem struktury namespace. Współbieżny czytelnik w kodzie multipath może wciąż trzymać referencję do ns w momencie wywołania kfree(ns), co prowadzi do use-after-free.
- CVE-2026-89970Krytyczne
W jądrze Linux funkcja nvmet_auth_sq_free() anuluje zadanie auth_expired_work za pomocą cancel_delayed_work(), które nie czeka na zakończenie już uruchomionego callbacku. W wyniku tego podczas demontażu transportu kolejka zawierająca struct nvmet_sq może zostać zwolniona lub ponownie użyta, gdy nvmet_auth_expired_work() wciąż uzyskuje do niej dostęp.
Oryginalny opis (angielski, źródło NVD)
Ubuntu Linux 6.8 GA retains the legacy AF_UNIX garbage collector but backports upstream commit 8594d9b85c07 ("af_unix: Don’t call skb_get() for OOB skb"). When orphaned MSG_OOB sockets hit unix_gc(), the garbage collector still calls kfree_skb() as if OOB SKBs held two references; on Ubuntu Linux 6.8 (Noble Numbat) kernel tree, they have only the queue reference, so the buffer is freed while still reachable and subsequent queue walks dereference freed memory, yielding a reliable local privilege escalation (LPE) caused by a use-after-free (UAF). Ubuntu builds that have already taken the new GC stack from commit 4090fa373f0e, and mainline Linux kernels shipping that infrastructure are unaffected because they no longer execute the legacy collector path. This issue affects Ubuntu Linux from 6.8.0-56.58 before 6.8.0-84.84.

