Ad

CVE-2026-89617

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

В ядре Linux устранена следующая уязвимость: fs/ntfs3: проверка таблицы грязных страниц при воспроизведении журнала Каждый DIR_PAGE_ENTRY заканчивается массивом page_lcns[], длина которого равна длине диска. поле lcns_follow. check_rstbl() проверяет ведение таблицы, но никогда проверяет, помещается ли этот массив в запись, поэтому созданный lcns_follow позволяет Преобразование v0->v1 memmove и последующие проходы воспроизведения выполняются из записи. Добавьте check_dp_table() для отклонения сразу после check_rstbl() любой записи большего размера. чем его размер, заявленный через struct_size() (то же самое выражение, которое используется для выделения эти записи, поэтому проверка по своей конструкции защищена от переполнения). Все потребители тогда можно будет доверять lcns_follow как реальной емкости.

Это охватывает каждый page_lcns[] доступ, индекс которого ограничен самой записью ( преобразование memmove, хранилище HotFix через find_dp() и самоограниченный циклы сканирования). Доступы, индекс которых взят из записи журнала, требуют отдельного связаны и обрабатываются в последующем патче.

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

In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: validate dirty page table on log replay Each DIR_PAGE_ENTRY ends in a page_lcns[] array whose length is the on-disk lcns_follow field. check_rstbl() validates the table bookkeeping but never checks that this array fits in the entry, so a crafted lcns_follow lets the v0->v1 conversion memmove and later replay passes run off the entry. Add check_dp_table() to reject, right after check_rstbl(), any entry larger than its size claims via struct_size() (the same expression used to allocate these entries, so the check is overflow-safe by construction). All consumers can then trust lcns_follow as the real capacity. This covers every page_lcns[] access whose index is bounded by the entry itself (the conversion memmove, the HotFix store via find_dp(), and the self-bounded scan loops). Accesses whose index comes from the log record need a separate bound and are handled in a follow-up patch.

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

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

Последствия

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

Строка CVSS v3.1