Odebrany

CVE-2026-90294

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: opóźnij ostateczną odpowiedź na logowanie do czasu zarejestrowania sesji

isert_put_login_tx() umieszcza wcześniej ostateczną odpowiedź na logowanie w przewodzie
__transport_register_session(), do którego dociera funkcja iscsi_post_login_handler()
dopiero po powrocie funkcji iscsi_target_do_login(). Inicjator, który wydaje a
Polecenie SCSI, gdy tylko wykryje tę odpowiedź, może zostać wykonane
se_session, której se_tpg nadal ma wartość NULL, a proces roboczy ib-comp-wq kończy się niepowodzeniem
przy dereferencji NULL.

Ups: ogólny błąd ochrony, prawdopodobnie dla adresu niekanonicznego 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref w zakresie [0x0000000000000078-0x000000000000007f]
Procesor: 0 UID: 0 PID: 178 Comm: kworker/0:1H Nieskażony 7.2.0-rc5-V2CTL-gf5098b6bae76 #10 PREEMPT(leniwy)
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: ib-comp-wq ib_cq_poll_work
RIP: 0010:target_submit+0xbe/0x390
Kod: fa 48 c1 ea 03 80 3c 02 00 0f 85 89 02 00 00 48 b8 00 00 00 00 00 fc ff df 4d 8b 64 24 18 49 8d 7c 24 78 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 5a 02 00 00 48 8d 7b 78 4d 8b 6c 24 78 48 b8 00
RSP: 0018:ffff8881058cfa78 EFLAGS: 00010206
RAX: dffffc0000000000 RBX: ffff88810c78c6f0 RCX: ffffffff964bb363
RDX: 000000000000000f RSI: 00000000ffffffe00 RDI: 0000000000000078
RBP: 1ffff11020b19f52 R08: 0000000000000001 R09: ffffed1020b19f52
R10: 0000000000000003 R11: ffff88810596c000 R12: 0000000000000000
R13: ffff88810c61b000 R14: ffff88810c6a3400 R15: ffff88810c61b044
FS: 0000000000000000(0000) GS:ffff8881822b2000(0000) knlGS:00000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f1f1b83c000 CR3: 000000006fe72001 CR4: 0000000000770ef0
PKRU: 55555554
Zadzwoń do śledzenia:
<ZADANIE>
? __pfx__raw_spin_lock_bh+0x10/0x10
? __pfx_target_submit+0x10/0x10
? mutex_lock+0x81/0xe0
? __pfx_mutex_lock+0x10/0x10
? iscsit_execute_cmd+0x650/0x850
iscsit_sequence_cmd+0x186/0x3d0
iscsit_process_scsi_cmd+0x87/0x300
isert_recv_done+0x1002/0x2390
? __pfx_isert_recv_done+0x10/0x10
? rxe_poll_cq+0x253/0x3d0
? finish_task_switch.isra.0+0x1dc/0xa70
__ib_process_cq+0xe1/0x390
ib_cq_poll_work+0x46/0x150
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>
Moduły połączone w:
---[koniec śladu 0000000000000000 ]---

Zamiast tego opóźnij ostateczną odpowiedź na logowanie. isert_get_rx_pdu() działa z
iscsi_target_rx_thread() po conn->rx_login_comp, zakończone przez
iscsi_post_login_handler() po __transport_register_session(); iscsi-TCP
i cxgbit już pobierają jednostki PDU z tego wątku, sam isert tego nie robi. The
bufory są nadal wysyłane jako pierwsze, więc pierwsze polecenie inicjatora nie
spotkać pustą kolejkę odbiorczą i nic nie zależy od kontroli przepływu RNR, i
nagłówek i ładunek znajdują się w isert_conn, a nie w strukturze iscsi_login
ta funkcja iscsi_target_nego_release() zwalnia jako pierwsza.

Przez rxe, 400 cykli logowania na przebieg, ups pojawił się w 10 z 20
bez poprawek i w żadnym z 20 uruchomień z tą łatką. An
inicjator, który nigdy nie czeka, zostanie obsłużony w następnej łatce.

Nie testowano: iWARP, sesje wykrywania przez iSER i prawdziwe HCA.

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