Katalog CVE

CVE-2026-90293

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Podwyższone ryzyko
0.69%

Percentyl 51 - wyżej niż 51% wszystkich znanych CVE

Streszczenie

W jądrze Linux rozwiązano podatność w module IB/isert, gdzie bufory odbioru pełnej funkcjonalności były publikowane przed zarejestrowaniem sesji. Inicjator, który nie czekał na końcową odpowiedź Login Response, mógł spowodować wykonanie polecenia SCSI na sesji z pustym se_tpg, prowadząc do awarii jądra (oops) w target_submit. Poprawka przenosi publikowanie buforów do isert_get_rx_pdu() i wykonuje je przed wysłaniem odpowiedzi.

Ocena ryzyka

Podatność może prowadzić do awarii jądra (oops) i odmowy usługi (DoS) na systemach używających iSER target z IB/RoCE, gdy inicjator nie czeka na końcową odpowiedź logowania. W środowiskach iWARP może dojść do zerwania połączenia.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę dla CVE-2026-90293. Jeśli aktualizacja nie jest możliwa, rozważ ograniczenie dostępu do usług iSER target lub monitorowanie nietypowych prób logowania.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: IB/isert: post the full-feature receive buffers after session registration isert_put_login_tx() posts the full-feature receive buffers before __transport_register_session() runs, so an initiator that does not wait for the final Login Response can still have a SCSI command executed against an se_session whose se_tpg is NULL - the same oops as the previous patch, at target_submit+0xbe. Post them from isert_get_rx_pdu(), which the previous patch already uses to send that response, and post them before that send: the receive queue is filled at the moment the initiator is told it may use it. Allocating there keeps the existing property that a memory allocation failure cannot happen once the final Login Response is on the wire. The receive queue is already empty between the final Login Request and isert_post_recvm(); this moves the second point later, from a median of 92 us to 172 us over 1200 logins. Only an initiator that sends before it has been told to can reach that window, and on IB and RoCE its send is retried there until the buffers appear - isert_rdma_accept() asks for rnr_retry_count = 7. iWARP has no RNR flow control, so there the same send terminates the connection instead. Measured over rxe, 400 login cycles per run, with an initiator that does not wait: an instrumented build counted no entries to isert_recv_done() before the buffers are posted in 10 runs, where that initiator oopsed 8 of 10 unpatched runs and 5 of 10 with only the previous patch. Not tested: iWARP, discovery sessions over iSER, and real HCAs.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS