CVE-2026-98683 in Linux
Сводка
по VulDB • 20.10.2026
В ядре Linux была устранена следующая уязвимость:
smb: клиент: очистка измененных (dirty) данных перед обнулением диапазона
Функция smb3_zero_range() эмулирует FALLOC_FL_ZERO_RANGE путем инвалидации кэша страниц в целевом диапазоне с помощью truncate_pagecache_range(), а затем отправки серверу команды FSCTL_SET_ZERO_DATA.
Измененные данные очищались только условно, когда диапазон достигал или превышал конец файла (EOF). Для чисто внутреннего диапазона обнуления, который не достигает EOF, очистка не выполнялась, поэтому измененный folio, пересекающийся с диапазоном, мог быть записан обратно на сервер после отправки FSCTL_SET_ZERO_DATA и восстановить в диапазоне данные, которые были только что обнулены, но уже устаревшие.
Исправление заключается в безусловной очистке и ожидании завершения записи измененных данных в указанном диапазоне перед инвалидацией кэша страниц и отправкой команды FSCTL_SET_ZERO_DATA, точно так же, как это было сделано для smb3_punch_hole() в коммите d7d2adcd022b ("smb/client: flush dirty data before punching a hole"); оба пути структурно идентичны.
Эта проблема проявляется при выполнении теста generic/363, который случайным образом считывает устаревшие данные вместо ожидаемых обнуленных данных в тесте против Windows Server.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.