Ad

CVE-2026-72160

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

В ядре Linux устранена следующая уязвимость: ocfs2: отклонять диноды с неканоническим типом i_mode Серия патчей «ocfs2: усиление защиты валидаторов индексных дескрипторов от поддельных метаданных», v2. Эта серия добавляет три структурные проверки к проверке динодов OCFS2, поэтому некорректные поля на диске отклоняются до копирования ocfs2_populate_inode() их во внутренний индекс ядра. Чеки покрывают: - значения i_mode, биты типа которых не называют канонический файл POSIX. тип; - диноды, не являющиеся устройствами, у которых поле id1.dev1.i_rdev ненулевое; и - невстроенные диноды, которые заявляют ненулевой i_size, в то время как i_clusters ноль, безоговорочно охватывающий каталоги и обычные файлы на неразреженные объемы.

Обычный путь чтения сообщает об этом через ocfs2_error(), что соответствует существующие проверки suballoc-slot, inline-data, Chain-list и refcount. Путь онлайн-проверки файлов использует те же структурные предикаты, но сохраняет свои собственный контракт отчетности, вместо этого возвращающий OCFS2_FILECHECK_ERR_INVALIDINO вызова ocfs2_error(). Этот патч (из 3): ocfs2_validate_inode_block() в настоящее время принимает любое ненулевое значение i_mode. ocfs2_populate_inode() затем дословно копирует этот режим в inode->i_mode. и отправляет i_mode и S_IFMT в файл/dir/symlink/special_file число операций ввода-вывода в секунду; нераспознанный тип попадает в ocfs2_special_file_iops и init_special_inode().

Отклонить диноды, чьи биты типа не указывают ни одного из семи канонических Типы файлов POSIX. Используйте fs_umode_to_ftype(), тот же общий тип файла. помощник преобразования OCFS2 уже использует для записей каталога, поэтому принятый набор типов индексных дескрипторов соответствует словарю типов файлов ядра, а не открытое кодирование локального коммутатора. Примените ту же структурную проверку к пути чтения онлайн-проверки файлов. filecheck сохраняет собственное пространство имен ошибок, поэтому сообщает об искаженном i_mode через регистратор проверки файлов и OCFS2_FILECHECK_ERR_INVALIDINO вместо вызов ocfs2_error(), но он не должен допускать продолжения работы неправильно сформированного динода в ocfs2_populate_inode().

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

In the Linux kernel, the following vulnerability has been resolved: ocfs2: reject dinodes with non-canonical i_mode type Patch series "ocfs2: harden inode validators against forged metadata", v2. This series adds three structural checks to OCFS2 dinode validation so malformed on-disk fields are rejected before ocfs2_populate_inode() copies them into the in-core inode. The checks cover: - i_mode values whose type bits do not name a canonical POSIX file type; - non-device dinodes whose id1.dev1.i_rdev field is non-zero; and - non-inline dinodes that claim non-zero i_size while i_clusters is zero, covering directories unconditionally and regular files on non-sparse volumes. The normal read path reports these through ocfs2_error(), matching the existing suballoc-slot, inline-data, chain-list, and refcount checks. The online filecheck path uses the same structural predicates but keeps its own reporting contract, returning OCFS2_FILECHECK_ERR_INVALIDINO instead of calling ocfs2_error(). This patch (of 3): ocfs2_validate_inode_block() currently accepts any non-zero i_mode value. ocfs2_populate_inode() then copies that mode verbatim into inode->i_mode and dispatches on i_mode & S_IFMT to the file/dir/symlink/special_file iops; an unrecognised type falls through to ocfs2_special_file_iops and init_special_inode(). Reject dinodes whose type bits do not name one of the seven canonical POSIX file types. Use fs_umode_to_ftype(), the same generic file-type conversion helper OCFS2 already uses for directory entries, so the accepted inode type set matches the kernel file-type vocabulary instead of open-coding a local switch. Apply the same structural check to the online filecheck read path. filecheck keeps its own error namespace, so it reports malformed i_mode through the filecheck logger and OCFS2_FILECHECK_ERR_INVALIDINO instead of calling ocfs2_error(), but it must not allow a malformed dinode to proceed into ocfs2_populate_inode().

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

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

Последствия

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

Строка CVSS v3.1