CVE: CVE-2026-98069
Продукт: Linux Kernel
Дата публикации: 25.09.2026
Критичность: HIGH
CVSS: 8.1 (3.1)
EPSS: 0,51%; процентиль 40,79%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В Linux kernel CVE-2026-98069 — это уязвимость в подсистеме Reliable Data Service (RDS), связанная с гонкой при закрытии соединения. Функция rds_conn_shutdown() проверяла биты RDS_IN_XMIT и RDS_RECV_REFILL, но не блокировала их атомарно. Это позволяло путям передачи данных выполнять работу параллельно с очисткой состояния, что приводило к повреждению памяти и падению ядра.
Основные характеристики
Уязвимость связана с гонкой состояний в модуле RDS при закрытии соединения.
- Тип ошибки: Race condition / Memory corruption (CWE-1432)
- CVSS:
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H(8.1 HIGH)
- Вектор атаки: Remote, High complexity, No privileges required
- Факт эксплуатации: Нет подтверждений публичной эксплуатации в источниках
- EPSS: 0,51% (процентиль 40,79%)
Какие продукты и версии затронуты
Уязвимость затрагивает ядро Linux с подсистемой RDS (Reliable Data Service).
- Компонент: net/rds (RDS subsystem)
- Функции: rds_conn_shutdown(), rds_send_xmit(), rds_ib_recv_refill()
- Версии: Все версии ядра, где отсутствует патч 1fe627e5db5c3f53a9f9f9c8a66671755d306955 или его эквивалентные изменения в stable ветках
Причина уязвимости
Функция rds_conn_shutdown() использовала test_bit() для проверки битов RDS_IN_XMIT и RDS_RECV_REFILL, что не гарантирует атомарность.
После возврата из wait_event() другой поток мог снова установить эти биты и начать работу параллельно с закрытием соединения. Это создавало гонку между путями передачи данных и очисткой состояния.
Как работает атака
Атакующий может вызвать закрытие RDS-соединения, когда по нему активно передаются данные.
rds_conn_shutdown() проверяет биты RDS_IN_XMIT и RDS_RECV_REFILL через test_bit(), но не устанавливает их атомарно. В этот момент rds_send_xmit() или rds_ib_recv_refill() могут установить эти биты и начать работу параллельно с очисткой.
Во время закрытия соединения transport zeroes rings (например, rds_ib_ring_init()) и rds_send_path_reset() перезаписывает состояние передачи данных. Это приводит к повреждению памяти и падению ядра.
Условия успешной эксплуатации
Для успешной эксплуатации необходимы:
- Доступ к системе с установленным ядром Linux, где активна подсистема RDS
- Возможность вызвать закрытие соединения (shutdown) во время активной передачи данных
- Наличие активных потоков rds_send_xmit() или rds_ib_recv_refill()
- Отсутствие патча 1fe627e5db5c3f53a9f9f9c8a66671755d306955 в ядре
Возможный сценарий атаки
Сценарий атаки предполагает создание RDS-соединения и одновременное закрытие соединения во время передачи данных.
Атакующий может использовать сетевые запросы для создания нагрузки на RDS-канал, затем вызвать shutdown. Это создаст гонку между путями передачи данных и очисткой состояния, что приведет к повреждению памяти и падению ядра.
Есть ли публичный эксплойт
В источниках нет подтверждений публичного эксплойта или PoC для CVE-2026-98069.
Отсутствие сведений не означает отсутствие эксплойта. Уязвимость связана с гонкой состояний, которая может быть воспроизведена локально при наличии RDS-нагрузки.
Признаки эксплуатации
Специфичных IOC для CVE-2026-98069 в источниках нет.
Общие точки контроля:
- Падения ядра (kernel panic) с сообщениями о NULL dereference или BUG_ON()
- Аномальная активность в подсистеме RDS
- Ошибки в логах ядра, связанные с net/rds
Как обнаружить атаку
Для обнаружения CVE-2026-98069 можно использовать:
- Проверку версии ядра: uname -r
- Поиск патча в ядре: git log --oneline | grep 1fe627e5db5c3f53a9f9f9c8a66671755d306955
- Мониторинг падений ядра с сообщениями о NULL dereference или BUG_ON()
- Анализ логов net/rds на аномалии
Как проверить свою версию
Команды проверки версии ядра:
Bash:
uname -r
uname -a
cat /proc/version
Для проверки наличия патча:
Bash:
git log --oneline | grep 1fe627e5db5c3f53a9f9f9c8a66671755d306955
Исправление
Исправление CVE-2026-98069 требует обновления ядра до версии, содержащей патч 1fe627e5db5c3f53a9f9f9c8a66671755d306955.
Патч изменяет rds_conn_shutdown() так, чтобы она устанавливала биты RDS_IN_XMIT и RDS_RECV_REFILL атомарно через test_and_set_bit_lock() и test_and_set_bit(), что гарантирует взаимное исключение с путями передачи данных.
Временные меры защиты
Временные меры защиты:
- Ограничение нагрузки на RDS-соединения во время закрытия
- Мониторинг падений ядра с сообщениями о NULL dereference или BUG_ON()
- Обновление ядра до версии, содержащей патч 1fe627e5db5c3f53a9f9f9c8a66671755d306955
Как проверить устранение уязвимости
Для верификации исправления:
- Проверить версию ядра: uname -r
- Убедиться, что патч 1fe627e5db5c3f53a9f9f9c8a66671755d306955 присутствует в ядре
- Провести тестирование RDS-соединений с нагрузкой и закрытием соединений
- Проверить логи на отсутствие падений ядра с сообщениями о NULL dereference или BUG_ON()
Вывод
CVE-2026-98069 — это уязвимость в Linux kernel, связанная с гонкой состояний при закрытии RDS-соединения. Патч 1fe627e5db5c3f53a9f9f9c8a66671755d306955 исправляет проблему, делая проверку битов атомарной.
Обновление ядра до версии с патчем является единственным надежным способом защиты. Отсутствие подтверждений публичной эксплуатации не означает отсутствие риска.
Официальные источники
- NVD — CVE-2026-98069
- FIRST EPSS — CVE-2026-98069
- net/rds: acquire the fastpath locks in rds_conn_shutdown() - kernel/git/stable/linux.git - Linux kernel stable tree
- net/rds: acquire the fastpath locks in rds_conn_shutdown() - kernel/git/stable/linux.git - Linux kernel stable tree
- net/rds: acquire the fastpath locks in rds_conn_shutdown() - kernel/git/stable/linux.git - Linux kernel stable tree
- net/rds: acquire the fastpath locks in rds_conn_shutdown() - kernel/git/stable/linux.git - Linux kernel stable tree
- CVEs — The Linux Kernel documentation
История обновлений статьи
- 27.09.2026 — Опубликована первая версия материала.
