CVE: CVE-2026-89655
Продукт: Linux Kernel
Дата публикации: 11.09.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,63%; процентиль 48,08%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В подсистеме Ceph ядра Linux обнаружена уязвимость Use-After-Free, возникающая из-за гонки при обработке сообщений о сбросе прав доступа. Ошибка позволяет нарушителю повлиять на состояние ядра, вызвав сбой или выполнив произвольный код. В статье разобран механизм атаки, затронутые версии и порядок применения исправлений.
Основные характеристики
Уязвимость позволяет нарушителю, имеющему доступ к файловой системе Ceph, вызвать сбой ядра или выполнить произвольный код с привилегиями root. Риск обусловлен обращением к освобожденной памяти в многопоточном окружении.
- Тип ошибки: Use-After-Free (UAF) в подсистеме Ceph.
- CVSS 3.1: 9.8 (CRITICAL). Вектор:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
- Условия атаки: Удаленный доступ, низкая сложность, отсутствие необходимости в привилегиях или взаимодействии пользователя.
- Эксплуатация: Публичные эксплойты не подтверждены, но риск эксплуатации в реальных атаках оценивается как 0,63% (EPSS 0.00626).
Какие продукты и версии затронуты
Уязвимость затрагивает ядра Linux, в которых включена поддержка файловой системы Ceph. Точный список версий, требующих обновления, зависит от конкретного дистрибутива и его политики поддержки.
- Ядро Linux: Все версии, содержащие подсистему Ceph и не включающие исправление (коммит
7af4c4f01305b0935adf6d4301b1ec407025485d).
- Дистрибутивы: Пользователи должны проверить наличие обновлений в официальных репозиториях своих дистрибутивов (Debian, Ubuntu, RHEL и др.).
Причина уязвимости
Причина уязвимости кроется в нарушении порядка управления памятью в функции
__kick_flushing_caps() файла fs/ceph/caps.c. Код использует макрос list_for_each_entry() для итерации по списку i_cap_flush_list, но при этом снимает блокировку i_ceph_lock для отправки сообщений.В этот момент другой поток (
handle_cap_flush_ack()) может получить блокировку, отсоединить элемент списка и освободить его память через ceph_free_cap_flush(). Когда исходный поток возвращает блокировку и пытается перейти к следующему элементу, он обращается к уже освобожденной памяти, что приводит к ошибке Use-After-Free.Как работает атака
Атака эксплуатирует гонку (race condition) между двумя потоками ядра. Первый поток итерирует список задач сброса прав доступа и отправляет сообщение
FLUSH в MDS (Metadata Server). Второй поток обрабатывает ответ FLUSH_ACK от MDS и освобождает память, связанную с этим сообщением.Если ответ MDS приходит достаточно быстро, память освобождается до того, как первый поток завершит итерацию. При попытке первого потока прочитать указатель
next в освобожденной структуре возникает обращение к невалидной памяти. Это позволяет нарушителю повлиять на состояние ядра, вызвав сбой или, в худшем случае, выполнив произвольный код.Условия успешной эксплуатации
Для успешной эксплуатации уязвимости нарушителю необходимо выполнить следующие условия:
- Доступ к Ceph: Система должна быть подключена к кластеру Ceph и активно использовать файловую систему Ceph.
- Удаленный доступ: Атака возможна по сети (AV:N) без необходимости физического доступа к устройству.
- Отсутствие привилегий: Нарушителю не требуются специальные права доступа (PR:N) или взаимодействие с пользователем (UI:N).
Возможный сценарий атаки
Сценарий атаки начинается с отправки запроса на сброс прав доступа (cap flush) в Ceph. Ядро формирует сообщение
FLUSH и отправляет его в MDS. В этот момент блокировка i_ceph_lock снимается.MDS быстро обрабатывает запрос и возвращает
FLUSH_ACK. Поток обработки ответа освобождает память структуры ceph_cap_flush. В это же время исходный поток пытается продолжить итерацию по списку и обращается к освобожденной памяти. Это приводит к повреждению данных ядра или выполнению кода нарушителя.Есть ли публичный эксплойт
На момент публикации сведений о CVE-2026-89655 публичные эксплойты или подтвержденные случаи эксплуатации в реальных атаках не зафиксированы. Однако наличие подробного технического описания механизма гонки и критический уровень CVSS делают уязвимость привлекательной для злоумышленников.
Отсутствие публичного эксплойта не означает, что атака невозможна. Разработчики и администраторы должны рассматривать эту уязвимость как требующую срочного устранения.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для CVE-2026-89655 не опубликованы. Для обнаружения атаки можно использовать общие, неспецифичные признаки:
- Сбои ядра: Записи в
dmesgили системных журналах об ошибках памяти (segfault, page fault) в подсистеме Ceph.
- Аномальная активность: Необъяснимые процессы с правами root, работающие в фоне.
- Сетевые аномалии: Необычные соединения с узлами Ceph MDS, не связанные с легитимной работой файловой системы.
Как обнаружить атаку
Для обнаружения признаков эксплуатации уязвимости рекомендуется использовать следующие методы:
- Мониторинг журналов: Анализ
dmesgиjournalctlна наличие ошибок, связанных сfs/ceph/caps.cилиceph_free_cap_flush.
- Системное аудирование: Использование инструментов аудита (auditd) для отслеживания подозрительных вызовов в подсистеме Ceph.
- Сетевой анализ: Мониторинг трафика между узлами и Ceph MDS на предмет аномальных паттернов, характерных для атак на файловую систему.
Как проверить свою версию
Для проверки версии ядра и наличия поддержки Ceph используйте следующие команды:
Bash:
uname -r
uname -a
cat /proc/version
Чтобы проверить, включена ли подсистема Ceph в ядре, выполните:
Bash:
modinfo ceph
Если модуль
ceph присутствует, ваша система потенциально уязвима, если ядро не обновлено до версии, содержащей исправление.Исправление
Единственным надежным способом устранения уязвимости является обновление ядра Linux до версии, содержащей исправление. Исправление было внесено в коммит
7af4c4f01305b0935adf6d4301b1ec407025485d и распространено в стабильные ветки ядра.- Обновление ядра: Используйте пакетный менеджер вашего дистрибутива для установки последней доступной версии ядра.
- Перезагрузка: После обновления ядра требуется перезагрузка системы для применения изменений.
- Проверка: Убедитесь, что новая версия ядра содержит исправление, проверив наличие соответствующего коммита в истории ядра.
Временные меры защиты
Пока обновление ядра не применено, можно использовать следующие временные меры для снижения риска:
- Отключение Ceph: Если файловая система Ceph не критична для работы, отключите ее или размонтируйте томы Ceph.
- Ограничение доступа: Ограничьте сетевой доступ к узлам, использующим Ceph, доверенным IP-адресам.
- Мониторинг: Усиленный мониторинг системных журналов на предмет аномальной активности в подсистеме Ceph.
Как проверить устранение уязвимости
Для проверки успешного применения исправления выполните следующие шаги:
- Проверка версии ядра: Убедитесь, что система работает на обновленной версии ядра.
- Проверка коммита: Используйте
git logили инструменты для проверки истории ядра, чтобы убедиться в наличии коммита7af4c4f01305b0935adf6d4301b1ec407025485d.
- Функциональное тестирование: Проведите тестирование работы файловой системы Ceph, чтобы убедиться, что исправление не вызвало регрессий.
Вывод
CVE-2026-89655 представляет серьезную угрозу для систем, использующих файловую систему Ceph. Критический уровень уязвимости и возможность удаленной атаки без привилегий делают обновление ядра приоритетной задачей. Администраторы должны незамедлительно применить исправления и усилить мониторинг систем до завершения обновления.
Официальные источники
- NVD — CVE-2026-89655
- FIRST EPSS — CVE-2026-89655
- ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock - kernel/git/stable/linux.git - Linux kernel stable tree
- ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock - kernel/git/stable/linux.git - Linux kernel stable tree
- ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock - kernel/git/stable/linux.git - Linux kernel stable tree
- ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock - kernel/git/stable/linux.git - Linux kernel stable tree
- CVEs — The Linux Kernel documentation
История обновлений статьи
- 14.09.2026 — Опубликована первая версия материала.
