Ad

CVE-2026-72195

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

В ядре Linux устранена следующая уязвимость: fs/ntfs3: привязан attr_off в UpdateResidentValue к data_off В случае UpdateResidentValue функции do_action() (fslog.c:3307) lrh->attr_off и lrh->redo_len берутся из дискового LRH. Когда они удовлетворяют aoff + dlen < attr->res.data_off, задание attr->res.data_size = cpu_to_le32(aoff + dlen - data_off); уменьшается до ~4 ГиБ (например, 0xFFFFFFFF9, когда aoff=0x10, dlen=1, data_off=0x18). Последующий код, который читает attr->res.data_size для обхода полезной нагрузки резидентного атрибута затем будет считаться до 4 ГиБ сверх выделения записи MFT размером 1024 байта.

Существующая защита mi_enum_attr() в fs/ntfs3/record.c:287. ловит поврежденный data_size при следующем обходе атрибута и терпит неудачу на горе, но только на пути, по которому идут все атрибуты. Сайт чтения, который выбирает атрибут по имени и чтение его data_size без повторной проверки не рассматривается. Проверьте aoff на соответствие data_off и размеру в источнике.

Воспроизведено под UML+KASAN на основной ветке 8d90b09e6741 через Проверка pr_warn-only: при aoff=0x10 и data_off=0x18 data_size после назначения равен 0xffffffff9 (затем монтирование завершается с ошибкой при -22 из mi_enum_attr). [almaz.alexandrovich@paragon-software.com: отформатировал изменения в clang]

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

In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: bound attr_off in UpdateResidentValue against data_off In do_action()'s UpdateResidentValue case (fslog.c:3307), lrh->attr_off and lrh->redo_len come from the on-disk LRH. When they satisfy aoff + dlen < attr->res.data_off, the assignment attr->res.data_size = cpu_to_le32(aoff + dlen - data_off); underflows to ~4 GiB (e.g. 0xFFFFFFF9 when aoff=0x10, dlen=1, data_off=0x18). Subsequent code that reads attr->res.data_size to walk the resident attribute payload would then read up to 4 GiB past the 1024-byte MFT record allocation. The existing mi_enum_attr() defense in fs/ntfs3/record.c:287 catches the corrupted data_size on the next attribute walk and fails the mount, but only on the path that walks all attributes. A read site that picks an attribute by name and reads its data_size without re-validating is not covered. Validate aoff against data_off and asize at the source. Reproduced under UML+KASAN on mainline 8d90b09e6741 via pr_warn-only probe: with aoff=0x10 and data_off=0x18, the post-assignment data_size is 0xfffffff9 (mount then fails at -22 from mi_enum_attr). [almaz.alexandrovich@paragon-software.com: clang-formatted the changes]

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

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

Последствия

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

Строка CVSS v3.1