CVE-2026-98069 в Linux Kernel: race condition в RDS shutdown и патч ядра

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 исправляет проблему, делая проверку битов атомарной.

Обновление ядра до версии с патчем является единственным надежным способом защиты. Отсутствие подтверждений публичной эксплуатации не означает отсутствие риска.

Официальные источники​


  1. NVD — CVE-2026-98069
  2. FIRST EPSS — CVE-2026-98069
  3. net/rds: acquire the fastpath locks in rds_conn_shutdown() - kernel/git/stable/linux.git - Linux kernel stable tree
  4. net/rds: acquire the fastpath locks in rds_conn_shutdown() - kernel/git/stable/linux.git - Linux kernel stable tree
  5. net/rds: acquire the fastpath locks in rds_conn_shutdown() - kernel/git/stable/linux.git - Linux kernel stable tree
  6. net/rds: acquire the fastpath locks in rds_conn_shutdown() - kernel/git/stable/linux.git - Linux kernel stable tree
  7. CVEs — The Linux Kernel documentation

История обновлений статьи​


  • 27.09.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ