CVE-2026-31402
nfsd: исправление переполнения кучи в кэше воспроизведения LOCK в NFSv4.0
- Опубликовано
- 3 апр. 2026 г.
- Обновлено
- 8 сент. 2026 г.
- Назначение CNA
- Linux
- Наблюдены доказательства
- 19 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HНизкий · следующие 30 дней
- Процентиль
- 59,2 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
В ядре Linux устранена следующая уязвимость: nfsd: исправление переполнения кучи в кэше повторов LOCK в NFSv4.0 Кэш повторов NFSv4.0 использует фиксированный встроенный буфер размером 112 байт (rp_ibuf[NFSD4_REPLAY_ISIZE]) для хранения закодированных ответов операций. Этот размер был рассчитан на основе ответов OPEN и не учитывает ответы об отказе LOCK, которые включают конфликтующего владельца блокировки как поле переменной длины размером до 1024 байт (NFS4_OPAQUE_LIMIT). Когда операция LOCK отклоняется из-за конфликта с существующей блокировкой, имеющей большого владельца, nfsd4_encode_operation() копирует полный закодированный ответ в буфер повторов недостаточного размера через read_bytes_from_xdr_buf() без проверки границ. Это приводит к записи за пределами буфера (slab-out-of-bounds) объёмом до 944 байт за его концом, повреждая соседнюю память кучи. Это может быть вызвано удалённо неаутентифицированным злоумышленником с помощью двух взаимодействующих клиентов NFSv4.0: один устанавливает блокировку с большой строкой владельца, затем другой запрашивает конфликтующую блокировку, чтобы спровоцировать отказ. Можно было бы исправить это, увеличив NFSD4_REPLAY_ISIZE, чтобы учесть полный непрозрачный объект, но это увеличило бы размер каждого stateowner, тогда как большинство владельцев блокировок не настолько велики. Вместо этого исправление заключается в проверке длины закодированного ответа на соответствие NFSD4_REPLAY_ISIZE перед копированием в буфер повторов. Если ответ слишком велик, установите rp_buflen в 0, чтобы пропустить кэширование полезной нагрузки повтора. Статус по-прежнему кэшируется, и клиент уже получил корректный ответ на исходный запрос.
Источники
1- CVE-2026-31402Информационный
CVE-2026-31402
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.