CVE-2026-80981
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
W jądrze Linux w funkcji smc_llc_srv_add_link() (podsystem net/smc) występuje błąd use-after-free. Wskaźnik add_llc wskazuje na wpis kolejki, który zostaje zwolniony przez smc_llc_flow_qentry_del(), a następnie jest używany w smc_llc_save_add_link_rkeys() na łączu bez współdzielonego bufora odbioru v2. Problem został naprawiony.
Ocena ryzyka
Podatność może prowadzić do uszkodzenia pamięci jądra, awarii systemu (panic) lub potencjalnego wykonania kodu w kontekście jądra. Wykorzystanie wymaga zdalnego połączenia SMC przez atakującego.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej poprawkę dla CVE-2026-80981. Jeśli aktualizacja nie jest możliwa, rozważ ograniczenie lub wyłączenie podsystemu SMC na narażonych systemach.
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: net/smc: fix use-after-free of the LLC qentry in smc_llc_srv_add_link() smc_llc_srv_add_link() keeps add_llc pointing into the queue entry: add_llc = &qentry->msg.add_link; smc_llc.c:1482 ... smc_llc_save_add_link_info(link_new, add_llc); smc_llc.c:1494 smc_llc_flow_qentry_del(&lgr->llc_flow_lcl); smc_llc.c:1495 ... u8 *llc_msg = smc_link_shared_v2_rxbuf(link) ? (u8 *)lgr->wr_rx_buf_v2 : (u8 *)add_llc; smc_llc.c:1504 smc_llc_save_add_link_rkeys(link, link_new, llc_msg); smc_llc.c:1506 smc_llc_flow_qentry_del() kfree()s the entry, so on a link without a shared v2 receive buffer the pointer handed to smc_llc_save_add_link_rkeys() is already freed. Before the Fixes: commit that branch always used lgr->wr_rx_buf_v2 and add_llc was not used after the free. Reproduced on an unpatched tree over rxe, with KASAN, kasan_multi_shot and a link forced to max_recv_sge == 1: the entry is freed and read by the same call, and the freeing frame is smc_llc_srv_add_link() itself. [ 2.523161] BUG: KASAN: slab-use-after-free in smc_llc_save_add_link_rkeys+0x333/0x350 [ 2.523499] Read of size 2 at addr ffff8880052194de by task kworker/0:1/11 [ 2.523789] [ 2.523862] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 7.2.0-rc5-p0-g2c9dd296545d #35 PREEMPT(lazy) [ 2.523865] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 2.523866] Workqueue: smc_hs_wq smc_listen_work [ 2.523869] Call Trace: [ 2.523870] <TASK> [ 2.523871] dump_stack_lvl+0x53/0x70 [ 2.523872] print_report+0xd0/0x630 [ 2.523874] ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [ 2.523876] ? smc_llc_save_add_link_rkeys+0x333/0x350 [ 2.523878] kasan_report+0xce/0x100 [ 2.523879] ? smc_llc_save_add_link_rkeys+0x333/0x350 [ 2.523881] smc_llc_save_add_link_rkeys+0x333/0x350 [ 2.523883] ? smcr_buf_reg_lgr+0x2a4/0x660 [ 2.523885] smc_llc_srv_add_link+0xaa2/0x1e50 [ 2.523888] ? _printk+0xba/0xf0 [ 2.523897] ? __pfx_smc_llc_srv_add_link+0x10/0x10 [ 2.523899] ? down_write+0xb0/0x130 [ 2.523903] ? __pfx_down_write+0x10/0x10 [ 2.523905] smc_listen_work+0x489e/0x4d00 [ 2.523907] ? kmem_cache_free+0x1c6/0x3a0 [ 2.523911] ? __pfx_smc_listen_work+0x10/0x10 [ 2.523913] ? release_sock+0x148/0x1d0 [ 2.523915] ? smc_tcp_listen_work+0xb4f/0xfc0 [ 2.523917] ? _raw_spin_lock_irq+0x80/0xe0 [ 2.523918] ? __pfx__raw_spin_lock_irq+0x10/0x10 [ 2.523920] process_one_work+0x633/0x1030 [ 2.523922] ? assign_work+0x11d/0x370 [ 2.523924] worker_thread+0x45b/0xd10 [ 2.523926] ? __pfx_worker_thread+0x10/0x10 [ 2.523928] ? __pfx_worker_thread+0x10/0x10 [ 2.523929] kthread+0x2c6/0x3b0 [ 2.523931] ? recalc_sigpending+0x15c/0x1e0 [ 2.523934] ? __pfx_kthread+0x10/0x10 [ 2.523935] ret_from_fork+0x36e/0x5a0 [ 2.523937] ? __pfx_ret_from_fork+0x10/0x10 [ 2.523938] ? __switch_to+0x572/0xdd0 [ 2.523943] ? __pfx_kthread+0x10/0x10 [ 2.523944] ret_from_fork_asm+0x1a/0x30 [ 2.523947] </TASK> [ 2.523948] [ 2.531253] Allocated by task 48: [ 2.531399] kasan_save_stack+0x33/0x60 [ 2.531570] kasan_save_track+0x14/0x30 [ 2.531737] __kasan_kmalloc+0x8f/0xa0 [ 2.531905] __kmalloc_cache_noprof+0x158/0x370 [ 2.532100] smc_llc_enqueue+0x72/0x560 [ 2.532268] smc_wr_rx_tasklet_fn+0x474/0xa80 [ 2.532491] tasklet_action_common+0x20f/0x8a0 [ 2.532714] handle_softirqs+0x18e/0x590 [ 2.532886] do_softirq+0x3b/0x60 [ 2.533036] __local_bh_enable_ip+0x61/0x70 [ 2.533221] __alloc_skb+0x732/0x890 [ 2.533384] rxe_init_packet+0x16b/0x4f0 [ 2.533567] prepare_ack_packet+0xb8/0x830 [ 2.533760] rxe_receiver+0x495/0x96e0 [ 2.533933] do_work+0x144/0x470 [ 2 ---truncated---

