Odebrany

CVE-2026-98357

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

IB/isert: poczekaj na odroczone zakończenie kontroli PDU przed zwolnieniem połączenia

isert_send_done() rozdaje ISTATE_SEND_TASKMGTRSP, ISTATE_SEND_REJECT i
ISTATE_SEND_TEXTRSP uzupełnia do isert_comp_wq i powraca. Praca
element następnie uruchamia isert_completion_put() -> isert_put_cmd(), który odczytuje
isert_conn->conn i pobiera conn->cmd_lock.

Nic nie chroni tego elementu roboczego przed zniszczeniem. isert_wait_conn() kolejki
isert_release_work, która zwalnia isert_conn i iscsit_close_connection()
zwalnia plik iscsit_conn zaraz po jego powrocie, dzięki czemu praca w kolejce może zostać uruchomiona
przeciwko zwolnionej pamięci.

Policz odroczone zakończenia kontrolnych PDU na połączenie i pozwól
isert_wait_conn() poczekaj na nie, zanim prace związane z wydaniem zostaną umieszczone w kolejce.

ISTATE_SEND_LOGOUTRSP celowo nie jest liczony: ta gałąź działa
iscsit_logout_post_handler(), co kończy się oczekiwaniem
conn->conn_wait_comp, a zakończenie jest wysyłane tylko przez
iscsit_close_connection() po wywołaniu funkcji iscsit_wait_conn().
Czekanie na to tutaj oznaczałoby impas. Jego oczekiwanie pozostaje istniejące
isert_wait4logout().

Poniższa ikona pochodzi z jądra ze śledzeniem printk() i msleep(200)
wstrzyknięty do isert_do_control_comp() w celu poszerzenia okna:

BŁĄD: KASAN: użycie płyty po zwolnieniu w isert_put_cmd+0x53d/0x620
Odczytaj rozmiar 8 pod adresem ffff8881054f1038 przez zadanie kworker/u17:1/182

Procesor: 0 UID: 0 PID: 182 Comm: kworker/u17:1 Tainted: G B 7.2.0-rc5-TWIDE-gb8babf08acc7 #1 PREEMPT(leniwy)
Skażona: [B]=BAD_PAGE
Nazwa sprzętu: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, poprawka arch_caps, 1996), BIOS 1.16.3-debian-1.16.3-2 01.04.2014
Kolejka robocza: isert_comp_wq isert_do_control_comp
Zadzwoń do śledzenia:
<ZADANIE>
dump_stack_lvl+0x53/0x70
print_report+0xd0/0x630
? __pfx__raw_spin_lock_irqsave+0x10/0x10
? _raw_spin_unlock_irqrestore+0x3e/0x70
? isert_put_cmd+0x53d/0x620
kasan_report+0xce/0x100
? isert_put_cmd+0x53d/0x620
isert_put_cmd+0x53d/0x620
? isert_completion_put+0x305/0x330
? isert_do_control_comp+0x2ef/0x310
proces_one_work+0x633/0x1030
? przypisanie_pracy+0x11d/0x370
wątek_pracownika+0x45b/0xd10
? __pfx_worker_thread+0x10/0x10
? __pfx_worker_thread+0x10/0x10
kwątek+0x2c6/0x3b0
? recalc_sigpending+0x15c/0x1e0
? __pfx_kthread+0x10/0x10
ret_from_fork+0x36e/0x5a0
? __pfx_ret_from_fork+0x10/0x10
? __przełącznik_na+0x572/0xdd0
? __pfx_kthread+0x10/0x10
ret_from_fork_asm+0x1a/0x30
</ZADANIE>

Przydzielone przez zadanie 48:
kasan_save_stack+0x33/0x60
kasan_save_track+0x14/0x30
__kasan_kmalloc+0x8f/0xa0
__kmalloc_cache_noprof+0x158/0x370
isert_cma_handler+0x1e3/0x2ae0
cma_cm_event_handler+0x3e/0x240
cma_ib_req_handler+0x17d9/0x4490
cm_process_work+0x41/0x330
cm_work_handler+0x5727/0xc160
proces_one_work+0x633/0x1030
wątek_pracownika+0x45b/0xd10
kwątek+0x2c6/0x3b0
ret_from_fork+0x36e/0x5a0
ret_from_fork_asm+0x1a/0x30

Uwolniony przez zadanie 184:
kasan_save_stack+0x33/0x60
kasan_save_track+0x14/0x30
kasan_save_free_info+0x3b/0x60
__kasan_slab_free+0x43/0x70
kfree+0x121/0x380
iscsit_close_connection+0x7cf/0x1e60
iscsit_take_action_for_connection_exit+0x1b6/0x360
iscsi_target_tx_thread+0x472/0x690
kwątek+0x2c6/0x3b0
ret_from_fork+0x36e/0x5a0
ret_from_fork_asm+0x1a/0x30

>_ 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