CVE-2026-80981
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
net/smc: napraw wpis dotyczący użycia po zwolnieniu LLC w smc_llc_srv_add_link()
smc_llc_srv_add_link() sprawia, że add_llc wskazuje pozycję kolejki:
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() to wpis, więc w przypadku łącza bez udostępnionego
v2 bufor odbioru, wskaźnik przekazywany do smc_llc_save_add_link_rkeys() to
już uwolniony. Przed poprawkami: zatwierdź tę gałąź, której zawsze używałeś
lgr->wr_rx_buf_v2 i add_llc nie zostały użyte po wydaniu free.
Reprodukowane na niezałatanym drzewie przez rxe, z KASAN, kasan_multi_shot
i link wymuszony do max_recv_sge == 1: wpis jest zwalniany i czytany przez
to samo wywołanie, a zwalniającą ramką jest sama smc_llc_srv_add_link().
[ 2.523161] BŁĄD: KASAN: użycie płyty po zwolnieniu w smc_llc_save_add_link_rkeys+0x333/0x350
[2.523499] Odczytanie rozmiaru 2 pod adresem ffff8880052194de przez zadanie kworker/0:1/11
[ 2,523789]
[2.523862] Procesor: 0 UID: 0 PID: 11 Comm: kworker/0:1 Nieskażony 7.2.0-rc5-p0-g2c9dd296545d #35 PREEMPT(leniwy)
[2.523865] Nazwa sprzętu: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 01.04.2014
[ 2.523866] Kolejka robocza: smc_hs_wq smc_listen_work
[2.523869] Śledzenie połączeń:
[ 2.523870] <ZADANIE>
[ 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] proces_one_work+0x633/0x1030
[2.523922] ? przypisanie_pracy+0x11d/0x370
[ 2.523924] wątek_pracownika+0x45b/0xd10
[2.523926] ? __pfx_worker_thread+0x10/0x10
[2.523928] ? __pfx_worker_thread+0x10/0x10
[ 2.523929] kwątek+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] ? __przełącznik_na+0x572/0xdd0
[2.523943] ? __pfx_kthread+0x10/0x10
[ 2.523944] ret_from_fork_asm+0x1a/0x30
[ 2.523947] </TASK>
[ 2.523948]
[ 2.531253] Przydzielone przez zadanie 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] przygotuj_ack_pakiet+0xb8/0x830
[ 2.533760] rxe_receiver+0x495/0x96e0
[ 2.533933] do_work+0x144/0x470
[ 2
---obcięty---
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org