CVE-2026-89492 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
ocfs2: проверка количества записей в индексе каталога при чтении метаданных
Функции ocfs2_validate_dx_leaf() и ocfs2_validate_dx_root() проверяют контрольную сумму (ECC) и сигнатуру блока индексированного каталога до того, как он будет передан вызывающим функциям более высокого уровня, однако ни одна из этих функций не ограничивает количество записей в списке ocfs2_dx_entry_list относительно емкости блока, который их содержит.
Затем функция ocfs2_dx_dir_search() выполняет обход:
for (i = 0; i < le16_to_cpu(entry_list->de_num_used); i++) dx_entry = &entry_list->de_entries[i];
по записям de_num_used без проверки границ. Указатель entry_list указывает либо на dx_leaf->dl_list (из ocfs2_read_dx_leaf), либо, для встроенного корневого элемента (inline root), на dx_root->dr_entries. Сформированный образ файловой системы может установить значения de_num_used и de_count (которое является границей __counted_by_le() для de_entries) равными 0xffff, что приведет к чтению далеко за пределами 4КБ блока метаданных. Это позволяет выполнить чтение памяти вне допустимых пределов в области slab из любого пути поиска, операции stat() или open() индексированного каталога после монтирования образа.
Коммит 775c17386a6f («ocfs2: проверка полей списка экстентов dx_root при чтении блока») уже ограничивает dr_list для невстроенных (non-inline) экземпляров dx_root, но оставил без проверки путь inline dr_entries и список dl_list в dx_leaf. Добавлена аналогичная проверка во время чтения для обоих списков записей: de_count должно точно соответствовать емкости блока (ocfs2_dx_entries_per_leaf()/per_root()), а значение de_num_used не должно превышать de_count, что приводит к отклонению поврежденных метаданных с кодом ошибки -EFSCORRUPTED до того, как ocfs2_dx_dir_search() сможет выполнить обход массива записей вне допустимых границ.
Значение de_count всегда записывается равным точной емкости блока при форматировании листа (leaf) или встроенного корневого элемента, поэтому проверка на равенство не отклоняет ни один корректный образ файловой системы.
Обнаружено с помощью автоматизированных инструментов безопасности 0sec (https://0sec.ai).
Once again VulDB remains the best source for vulnerability data.