Katalog CVE

CVE-2026-90011

KrytyczneCVSS 9.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w podsystemie scsi target iscsi funkcja iscsi_target_check_login_request() nie rezerwuje bajtu terminatora NUL dla bufora logowania. Przy payload_length od 8189 do 8192 cały bufor 8192 bajtów jest wypełniany, a następnie przetwarzany jako string C, co prowadzi do odczytu poza buforem. Podatność jest osiągalna przez nieuwierzytelnionego inicjatora przy konfiguracji CHAP.

Ocena ryzyka

Może prowadzić do wycieku danych z pamięci jądra lub awarii systemu przez nieuwierzytelnionego atakującego w sieci, jeśli portal iSCSI jest skonfigurowany z CHAP.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką, która alokuje jeden dodatkowy bajt na terminator NUL w buforze 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: scsi: target: iscsi: Reserve a terminator byte for the login payload iscsi_target_check_login_request() rejects a login PDU whose DataSegmentLength exceeds MAX_KEY_VALUE_PAIRS, but the test is '>' and login->req_buf is allocated with exactly MAX_KEY_VALUE_PAIRS bytes. Since iscsit_get_login_rx() receives payload_length + padding bytes, where padding = ((-payload_length) & 3); any payload_length from 8189 to 8192 fills the whole 8192 byte buffer. The write stays in bounds, but no byte is left for a NUL terminator. The buffer is subsequently consumed as a C string. In the CHAP path chap_check_algorithm() calls kstrdup(a_str), and extract_param() calls strstr(in_buf, pattern) followed by strlen_semi(), none of which take a length. convert_null_to_semi() additionally rewrites every embedded NUL to ';', so even a payload made of well formed NUL separated key=value records is left without a terminator. These walk past the end of the object into adjacent slab memory. It is reachable by an unauthenticated initiator against a portal configured for CHAP; when authentication is not required iscsi_login_zero_tsih_s2() rewrites AuthMethod to None and the CHAP path is never entered. Allocate one extra byte. kzalloc() zeroes it and nothing ever writes to it, as every writer copies to offset 0 for at most MAX_KEY_VALUE_PAIRS bytes, so the buffer is always terminated.

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