Katalog CVE

CVE-2026-89632

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W kliencie SMB jądra Linux funkcja reparse_buf_ptr() odczytuje pole ReparseDataLength z bufora przed sprawdzeniem, czy odebrane dane obejmują pełny nagłówek struktury. Gdy serwer zwróci OutputCount < 6, odczyt pod offsetem 4-5 wykracza poza koniec odebranych danych.

Ocena ryzyka

Możliwy odczyt poza zakresem odebranego bufora podczas przetwarzania odpowiedzi serwera SMB, co może prowadzić do ujawnienia danych lub niestabilności jądra.

Rekomendacja

Zaktualizować jądro Linux do wersji zawierającej poprawkę, która najpierw sprawdza count >= sizeof(*buf), a następnie weryfikuje pokrycie obszaru danych.

Inne podatności w Linux kernel (SMB client)

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

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix use-before-check of ReparseDataLength in reparse_buf_ptr() reparse_buf_ptr() reads buf->ReparseDataLength before checking that count covers the full fixed header: buf = (struct reparse_data_buffer *)((u8 *)io + off); len = sizeof(*buf); /* 8 bytes */ rdlen = le16_to_cpu(buf->ReparseDataLength); /* offset 4, 2 bytes */ if (count < len || count < rdlen + len) /* check comes after */ struct reparse_data_buffer has ReparseDataLength at offset 4. If a server returns OutputCount < 6, the read at offset 4-5 reaches past the end of the received data. The off+count bounds against iov_len were already validated, but that does not protect against count being smaller than sizeof(*buf). Split the check: verify count >= sizeof(*buf) before reading ReparseDataLength, then verify count covers the data region.

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