Ad

CVE-2026-72185

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

В ядре Linux устранена следующая уязвимость: ntfs: исправлено WARN_ON для резидентного атрибута в ntfs_map_runlist_nolock(). Когда ntfs_map_runlist_nolock() необходимо найти экстент атрибута содержащий целевой VCN (ctx_needs_reset == true), он вызывает ntfs_attr_lookup(), а затем ожидает, что результат будет нерезидентом атрибут, поскольку только нерезидентные атрибуты имеют пары сопоставлений массив для распаковки. Созданный образ NTFS может поместить резидентный атрибут вместо нерезидентного. ожидается один, в результате чего ntfs_attr_lookup() завершится успешно, но вернет запись резидентного атрибута.

Раньше это ловил только WARN_ON(), который не останавливает выполнение. Затем код переходит к прочитайте a->data.non_resident.highest_vcn из того, что на самом деле является резидентом атрибут, доступ к неправильному члену объединения и повреждение диапазона VCN проверьте. Путь вызывающего абонента, вызывающий это предупреждение во время монтирования: ntfs_map_runlist_nolock ntfs_empty_logfile load_system_files ntfs_fill_super В этом пути ctx имеет значение NULL, поэтому ntfs_map_runlist_nolock() выделяет временный внутренний контекст поиска и устанавливает ctx_needs_reset = true.

Существующая защита резидентных атрибутов в ветке ctx != NULL уже существует. молча возвращает -EIO для того же условия; сделайте ctx_needs_reset согласованный путь путем замены WARN_ON() той же ошибкой -EIO вернуться. Это приводит к тому, что созданный образ вместо этого отклоняется с ошибкой монтирования. возникновения предупреждения ядра.

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

In the Linux kernel, the following vulnerability has been resolved: ntfs: fix WARN_ON for resident attribute in ntfs_map_runlist_nolock() When ntfs_map_runlist_nolock() needs to look up the attribute extent containing a target VCN (ctx_needs_reset == true), it calls ntfs_attr_lookup() and then expects the result to be a non-resident attribute, since only non-resident attributes have a mapping pairs array to decompress. A crafted NTFS image can place a resident attribute where a non-resident one is expected, causing ntfs_attr_lookup() to succeed but return a resident attribute record. Previously this was caught only by a WARN_ON(), which does not stop execution. The code then falls through to read a->data.non_resident.highest_vcn from what is actually a resident attribute, accessing the wrong union member and corrupting the VCN range check. The caller path triggering this warning during mount is: ntfs_map_runlist_nolock ntfs_empty_logfile load_system_files ntfs_fill_super In this path ctx is NULL, so ntfs_map_runlist_nolock() allocates a temporary search context internally and sets ctx_needs_reset = true. The existing resident-attribute guard in the ctx != NULL branch already returns -EIO silently for the same condition; make the ctx_needs_reset path consistent by replacing the WARN_ON() with the same -EIO error return. This causes the crafted image to be rejected with a mount error instead of triggering a kernel warning.

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

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

Последствия

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

Строка CVSS v3.1