CVE-2026-89632 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
smb: client: исправлена ошибка использования значения до проверки ReparseDataLength в функции reparse_buf_ptr()
Функция reparse_buf_ptr() считывает значение buf->ReparseDataLength перед проверкой того, что count охватывает весь фиксированный заголовок:
buf = (struct reparse_data_buffer *)((u8 *)io + off); len = sizeof(*buf); /* 8 байт */ rdlen = le16_to_cpu(buf->ReparseDataLength); /* смещение 4, 2 байта */
if (count < len || count < rdlen + len) /* проверка выполняется после чтения */
В структуре reparse_data_buffer поле ReparseDataLength находится по смещению 4. Если сервер возвращает OutputCount меньше 6, чтение по смещениям 4-5 выходит за пределы полученных данных. Границы off+count против iov_len уже были проверены, но это не защищает от ситуации, когда count меньше sizeof(*buf).
Разделите проверку: сначала убедитесь, что count >= sizeof(*buf), прежде чем читать ReparseDataLength, а затем подтвердите, что count охватывает область данных.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.