Ad

CVE-2026-72470

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

В ядре Linux устранена следующая уязвимость: fs/ntfs3: изменение размера журнала->one_page_buf при выборе размера страницы на диске log_replay() выделяет log->one_page_buf, используя размер страницы, который был выбрано на хосте PAGE_SIZE: log->one_page_buf = kmalloc(log->page_size, GFP_NOFS); Позже, когда будет найдена область перезапуска, размер страницы журнала, записанной на диск принято: t32 = le32_to_cpu(log->rst_info.r_page->sys_page_size); if (log->page_size != t32) { журнал->l_size = журнал->orig_file_size; log->page_size =normal_file_page(t32, &log->l_size, t32 == DefaultLogPageSize); } Если размер страницы на диске больше размера, использованного для исходного распределение, log->page_size увеличивается, но one_page_buf остается на своем месте Оригинал, меньшего размера. Последующий невыровненный read_log_page(), затем считывает байты log->page_size в рабочий буфер меньшего размера: page_buf = page_off? журнал->one_page_buf: *buffer; err = ntfs_read_run_nb_ra(ni->mi.sbi, &ni->file.run, page_vbo, page_buf, log->page_size, NULL, &log->read_ahead); переполнение выделения. Это достижимо при монтаже грязного Том NTFS, журнал которого был отформатирован с размером страницы, превышающим буфер, изначально выделенный на монтирующем хосте (например, 64-килобайтный журнал том, смонтированный на хосте, который выделил рабочий буфер размером 4 КБ).

Увеличить one_page_buf, когда принятый размер страницы на диске превышает размер используется для первоначального распределения. При сбое krealloc() оригинал буфер остается нетронутым и освобождается по существующему пути ошибок.

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

In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: resize log->one_page_buf when adopting on-disk page size log_replay() allocates log->one_page_buf using the page size that was chosen from the host PAGE_SIZE: log->one_page_buf = kmalloc(log->page_size, GFP_NOFS); Later, when a restart area is found, the log page size recorded on disk is adopted: t32 = le32_to_cpu(log->rst_info.r_page->sys_page_size); if (log->page_size != t32) { log->l_size = log->orig_file_size; log->page_size = norm_file_page(t32, &log->l_size, t32 == DefaultLogPageSize); } If the on-disk page size is larger than the size used for the initial allocation, log->page_size grows but one_page_buf is left at its original, smaller size. A subsequent unaligned read_log_page() then reads log->page_size bytes into the undersized scratch buffer: page_buf = page_off ? log->one_page_buf : *buffer; err = ntfs_read_run_nb_ra(ni->mi.sbi, &ni->file.run, page_vbo, page_buf, log->page_size, NULL, &log->read_ahead); overflowing the allocation. This is reachable when mounting a dirty NTFS volume whose log was formatted with a page size larger than the buffer initially allocated on the mounting host (for example a 64K-log volume mounted on a host that allocated a 4K scratch buffer). Grow one_page_buf when the adopted on-disk page size exceeds the size used for the initial allocation. On krealloc() failure the original buffer is left intact and freed by the existing error path.

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

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

Последствия

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

Строка CVSS v3.1

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

Конфигурация От (включительно) До (исключительно)
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