CVE-2026-68148 in Linux
Сводка
по VulDB • 10.08.2026
В ядре Linux устранена следующая уязвимость:
fscrypt: добавлена отсутствующая проверка суперблока в функции find_or_insert_direct_key()
Устаревшая таблица 'fscrypt_direct_keys' кэширует мастер-ключи, которые используются политиками шифрования v1 с флагом FSCRYPT_POLICY_FLAG_DIRECT_KEY. Это глобальная таблица для всех файловых систем (поскольку ключи могут предоставляться через устаревший механизм кольцевых хранилищ ключей, подписанных на процесс, что затрудняет повторное использование поля super_block::s_master_keys).
Однако записи в ней ('struct fscrypt_direct_key') содержат указатель на суперблок для передачи его в функцию fscrypt_destroy_inline_crypt_key() при вытеснении последнего иноды, ссылающегося на ключ.
Тем не менее, при поиске fscrypt_direct_key для инода мы фактически не сравнивали указатели на суперблоки. В результате иноды с разными суперблоками могли ссылаться на один и тот же объект fscrypt_direct_key. Это могло продлевать время жизни объекта fscrypt_direct_key сверх времени существования связанного с ним суперблока, что приводило к использованию после освобождения (use-after-free) в дальнейшем.
Исправление заключается в создании отдельных структур fscrypt_direct_key для различных структур super_block.
Обратите внимание, что эта проблема отсутствует в эквиваленте политики v2 («ключи на основе режимов»), поскольку структуры данных там привязаны к суперблоку (per-superblock).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.