Ad

CVE-2026-64533

HIGH CVSS 3.1: 7,8 EPSS 0.17%
Обновлено 30 июля 2026
Linux
Параметр Значение
CVSS 7,8 (HIGH)
Уязвимые версии 5.15 — 7.2-rc1
Устранено в версии 5.15.212
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: fs/ntfs3: проверка lcns_follow при преобразовании log_replay log_replay() преобразует записи DIR_PAGE_ENTRY_32 в DIR_PAGE_ENTRY записи при воспроизведении таблиц перезапуска версии 0. Во время этого преобразования длина memmove() получается непосредственно из поле lcns_follow на диске: memmove(&dp->vcn, &dp0->vcn_low, 2 * размер(u64) + le32_to_cpu(dp->lcns_follow) * sizeof(u64)); check_rstbl() проверяет структуру таблицы перезапуска, но не ограничивает Значения lcns_follow для каждой записи относительно размера записи. Деформированный образ файловой системы может содержать слишком большое значение lcns_follow, что приводит к преобразование memmove() для доступа к памяти за пределами выделенный буфер таблицы перезапуска.

Это же поле позже используется для ограничения итерации по page_lcns[], поэтому проверка lcns_follow во время преобразования также предотвращает нисходящий поток доступ за пределами границ из тех же искаженных метаданных. Вычислите максимальное допустимое значение lcns_follow из уже проверенных перезапустите размер записи таблицы и отклоните записи, превышающие эту границу. Повторно используйте существующие рабочие переменные t16/t32, уже объявленные в log_replay(), чтобы избежать введения новых объявлений. [almaz.alexandrovich@paragon-software.com: исправлены конфликты]

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

In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: validate lcns_follow in log_replay conversion log_replay() converts DIR_PAGE_ENTRY_32 records into DIR_PAGE_ENTRY records when replaying version 0 restart tables. During this conversion, the memmove() length is derived directly from the on-disk lcns_follow field: memmove(&dp->vcn, &dp0->vcn_low, 2 * sizeof(u64) + le32_to_cpu(dp->lcns_follow) * sizeof(u64)); check_rstbl() validates restart table structure, but does not constrain per-entry lcns_follow values relative to the entry size. A malformed filesystem image can provide an oversized lcns_follow value, causing the conversion memmove() to access memory beyond the bounds of the allocated restart table buffer. The same field is later used to bound iteration over page_lcns[], so validating lcns_follow during conversion also prevents downstream out-of-bounds access from the same malformed metadata. Compute the maximum valid lcns_follow from the already-validated restart table entry size and reject entries that exceed this bound. Reuse the existing t16/t32 scratch variables already declared in log_replay() to avoid introducing new declarations. [almaz.alexandrovich@paragon-software.com: fixed the conflicts]

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

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

Последствия

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

Строка CVSS v3.1

Уязвимые продукты 7

Конфигурация От (включительно) До (исключительно)
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.15 5.15.212
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.15 6.1.178
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.15 6.6.145
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.15 6.12.97
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.15 6.18.40
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.15 7.1.5
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.15 7.2-rc1