Ad

CVE-2026-89632

HIGH CVSS 3.1: 8,2 EPSS 0.45%
Обновлено 13 сентября 2026
Linux
Параметр Значение
CVSS 8,2 (HIGH)
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: smb: клиент: исправлено использование перед проверкой ReparseDataLength в reparse_buf_ptr() reparse_buf_ptr() читает buf->ReparseDataLength перед проверкой этого count охватывает полный фиксированный заголовок: buf = (struct reparse_data_buffer *)((u8 *)io + off); лен = 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 уже проверены, но это не защищает от подсчета меньше, чем sizeof(*buf).

Разделите проверку: проверьте счетчик >= sizeof(*buf) перед чтением ReparseDataLength, затем убедитесь, что счетчик охватывает область данных.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Низкое
Частичная утечка данных
Целостность
Нет
Нет модификации данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1