Katalog CVE

CVE-2026-89630

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

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

Streszczenie

W kliencie SMB jądra Linux funkcja is_valid_oplock_break() przestała skutecznie sprawdzać pole DataOffset. W wyniku wcześniejszej zmiany w obsłudze nagłówka RFC1002 wyrażenie używane do walidacji zawsze daje zero, przez co sprawdzenie nigdy nie odrzuca nieprawidłowych wartości.

Ocena ryzyka

Złośliwy lub błędnie działający serwer SMB może przesłać komunikat z nieprawidłowym DataOffset, co może prowadzić do odczytu poza granicami bufora i potencjalnego ujawnienia danych lub destabilizacji systemu.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę przywracającą prawidłowe sprawdzanie DataOffset w is_valid_oplock_break().

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: smb: client: restore the data_offset bound in is_valid_oplock_break() Commit 83bfbd0bb902 ("cifs: Remove the RFC1002 header from smb_hdr") changed the quantity this bound is measured against. It used to be srv->total_read minus the 4-byte RFC1002 preamble that total_read then included, so it was the SMB message length. The same commit stopped counting the preamble, and the mechanical substitution to srv->total_read - srv->pdu_size left an expression that is identically zero: standard_receive3() reads MID_HEADER_SIZE() bytes and then exactly pdu_length - MID_HEADER_SIZE() more, adding both to total_read. len is therefore 0, the subtraction below it wraps, and no __u32 DataOffset can exceed the result, so the check from commit 097f5863b1a0 ("cifs: read overflow in is_valid_oplock_break()") no longer rejects anything. Use total_read, which is now the message length on its own.

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