Ad

CVE-2026-72192

CRITICAL CVSS 3.1: 9,8 EPSS 0.73%
Обновлено 17 августа 2026
Linux
Параметр Значение
CVSS 9,8 (CRITICAL)
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: ntfs3: привязан к_move в indx_insert_into_root перед hdr_insert_head indx_insert_into_root() переводит полный резидент $INDEX_ROOT в $INDEX_ALLOCATION и копирует все непоследние резидентные корневые записи в недавно выделенный INDEX_BUFFER через hdr_insert_head(). Источник количество байтов 'to_move' суммируется из размеров резидентных записей на диске и не зависит от размера целевого буфера, который определяется root->index_block_size (через index->index_bits). Созданный образ NTFS, который сохраняет действительный, полноценный корневой каталог, но сжимает root->index_block_size до 512 после того, как корень был заполненный делает hdr_insert_head() резидентом, контролируемым злоумышленником memcpy входные байты после конца kmalloc(1u << indx->index_bits) выделение, возвращаемое функцией indx_new().

Для адресата размером 512 байт и резидентный корень, непоследние записи которого имеют общий размер 560 байт, memcpy переполняется на 120 байт, а следующий memmove расширяет самый высокий записанное смещение на 136 байт после выделения. Байты переполнения являются прямой копией записей на диске (через kmemdup), поэтому они полностью контролируется злоумышленником. Запись доступна из непривилегированного открытого (O_CREAT) на смонтированном созданный образ NTFS: одно достаточно длинное создание в каталоге чей резидентный корень уже заполнен, принудительно продвигает root и запускает копию.

Это контролируемая запись за пределами допустимого диапазона размером 120–136 байт после kmalloc(index_block_size) распределение, контролируемое злоумышленником содержание. Это ограниченный примитив повреждения смежной кучи; это не запись произвольного адреса. Успешная эксплуатация в названном Объект-жертва зависит от компоновки окружающей плиты.

Отклоните копию в раковине. INDEX_HDR пункта назначения уже есть. сообщает hdr_total (ёмкость полезной нагрузки нового буфера) и hdr_used (байты, уже использованные записью END терминала установлен indx_new()); требуют, чтобы to_move вписывался в оставшиеся полезная нагрузка перед вызовом hdr_insert_head(). При несоответствии потерпеть неудачу с -EINVAL и пометить файловую систему как обнаруженную на диске несогласованность, которая представляет собой такое же поведение, как и окружающие проверка в этой функции.

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

In the Linux kernel, the following vulnerability has been resolved: ntfs3: bound to_move in indx_insert_into_root before hdr_insert_head indx_insert_into_root() promotes a full resident $INDEX_ROOT into $INDEX_ALLOCATION and copies all non-last resident root entries into a newly allocated INDEX_BUFFER via hdr_insert_head(). The source byte count 'to_move' is summed from the on-disk resident entry sizes and is independent of the destination buffer size, which comes from root->index_block_size (via indx->index_bits). A crafted NTFS image that keeps a valid, full resident root but shrinks root->index_block_size down to 512 after the root has been populated makes hdr_insert_head() memcpy attacker-controlled resident entry bytes past the end of the kmalloc(1u << indx->index_bits) allocation returned by indx_new(). For a 512-byte destination and a resident root whose non-last entries total 560 bytes, the memcpy overruns by 120 bytes and a following memmove extends the highest written offset to 136 bytes past the allocation. The overflow bytes are a direct copy of on-disk entries (via kmemdup), so they are fully attacker-controlled. The write is reachable from unprivileged open(O_CREAT) on a mounted crafted NTFS image: a single sufficiently long create in a directory whose resident root is already full forces root promotion and triggers the copy. This is a controlled out-of-bounds write of 120-136 bytes past a kmalloc(index_block_size) allocation, with attacker-controlled content. It is a bounded adjacent-heap corruption primitive; it is not an arbitrary-address write. Successful exploitation into a named victim object depends on the surrounding slab layout. Reject the copy at the sink. The destination's INDEX_HDR already reports hdr_total (the payload capacity of the new buffer) and hdr_used (the bytes already consumed by the terminal END entry installed by indx_new()); require that to_move fits in the remaining payload before calling hdr_insert_head(). On mismatch, fail with -EINVAL and mark the filesystem as having a detected on-disk inconsistency, which is the same behaviour as the surrounding validation in this function.

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

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

Последствия

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

Строка CVSS v3.1