CVE-2026-23112 – Разыменование нулевого указателя в NVMe/TCP (nvmet_tcp_build_pdu_iovec)

Просмотр категорий

CVE-2026-23112 – Разыменование нулевого указателя в NVMe/TCP (nvmet_tcp_build_pdu_iovec)

Обзор #

CVE-идентификатор: CVE-2026-23112
компонент: Ядро Linux – целевая платформа NVMe over TCP (nvmet-tcp)
Затронутая функция: nvmet_tcp_build_pdu_iovec()
Уровень опасности: Средний/высокий уровень (сбой ядра/вектор DoS-атаки в зависимости от контекста)

Эта уязвимость затрагивает реализацию целевого устройства NVMe/TCP в ядре Linux, в частности, функцию, отвечающую за формирование векторов ввода-вывода блока данных протокола (PDU).

Техническое описание #

Проблема возникает из-за недостаточной проверки границ списков разбросанного и собираемого трафика (SG) при обработке блоков данных NVMe/TCP.

Согласно официальному описанию уязвимости:

  • Функция может выходить за рамки допустимого списка scatter-gather (cmd->req.sg) при обработке некорректно сформированных или специально созданных PDU.
  • Это происходит, когда длина или смещение PDU превышает количество записей SG (sg_cnt).
  • В результате ядро ​​может использовать недопустимые ссылки на память (некорректные значения sg->length или смещения).

Неправильная обработка границ может привести к следующим последствиям:

  • Доступ к памяти за пределами допустимого диапазона
  • Разыменование указателя NULL
  • Ошибка общей защиты (GPF) или сбой ядра
  • Возможные условия отказа в обслуживании (DoS)

Основная причина #

Уязвимость вызвана:

  • Отсутствует проверка:
    • Индекс рассеяния-сбора (sg_idx)
    • Оставшиеся записи SG
    • Длина входного отверстия SG и смещения
  • Отсутствие защитных проверок перед построением блочного вектора (bvec)

Вкратце, функция предполагает корректные входные данные из сети , что позволяет некорректному трафику NVMe/TCP вызывать небезопасный доступ к памяти.

Влияние #

Злоумышленник, способный отправлять специально сформированный NVMe/TCP-трафик в уязвимую систему, мог бы:

  • Триггер а сбой ядра
  • Вызвать сбой в работе сервиса (DoS)
  • Потенциально может повлиять на доступность хранилища в средах NVMe/TCP.

Нет никаких доказательств повышения привилегий , но это напрямую влияет на надежность и доступность.

Затронутые системы #

  • Версии ядра Linux, где:
    • Целевой NVMe-сервер (nvmet) включен.
    • Используется протокол NVMe поверх TCP (nvmet-tcp).
  • Системы, предоставляющие доступ к NVMe/TCP-устройствам из ненадежных или внешних сетей.

Дистрибутивы, отслеживающие эту уязвимость (например, Debian), включают её в свои уведомления о безопасности и циклы обновления.

Исправление / Патч #

В результате исправления, внесенного в исходный код, были внесены следующие изменения:

  • Правильная проверка границ для:
    • индекс SG
    • Количество входов
    • Проверка длины и смещения
  • Предотвращение некорректного доступа к памяти во время обработки PDU.

В число исправленных версий ядра входят стабильные ветки, в которые были добавлены эти проверки (например, стабильные ветки 5.10.x, 5.15.x, 6.x с примененными исправлениями).

риска #

Если установка исправления невозможна немедленно:

  • Отключите функциональность целевого устройства NVMe/TCP, если она не требуется.
  • Ограничьте доступ к сервисам NVMe/TCP следующим образом:
    • Сегментация сети
    • Правила межсетевого экрана
  • Избегайте доступа к NVMe/TCP-устройствам из ненадежных сетей.

RELIANOID Оценка воздействия на #

Статус воздействия #

RELIANOID Данная уязвимость НЕ затрагивает балансировщик нагрузки.

Причина #

Уязвимость существует в подсистеме целевого устройства NVMe/TCP, которая:

  • Не используется RELIANOID
  • Не загружается в развертываниях по умолчанию.

RELIANOID фокусируется на балансировка сетевой нагрузки и доставка приложенийне службы целевых хранилищ NVMe

Следовательно: даже если в ядре содержится уязвимый код, оно всё равно уязвимо. недоступен и не может быть использован в RELIANOID средах.

RELIANOID Политика обновления #

Хотя это и не поддается эксплуатации в RELIANOID При развертывании соблюдаются лучшие практики обеспечения безопасности:

Официальное исправление включено в:

  • RELIANOID Enterprise Edition (EE) > 8.5
  • RELIANOID Community Edition (CE) > 7.9

Это гарантирует:

  • Согласование с исправлениями безопасности ядра, установленными разработчиками.
  • Соответствие стандартам безопасности и инструментам сканирования уязвимостей.
  • Снижение количества ложных срабатываний при проверках на соответствие требованиям.

Рекомендация #

  • Никаких немедленных действий не требуется. RELIANOID пользователей
  • Для обеспечения полной безопасности необходимо обновить систему до версий EE > 8.5 и CE > 7.9.

Референсы #

Национальная база данных уязвимостей – CVE-2026-23112
Система отслеживания уязвимостей Debian – CVE-2026-23112
Примечания к патчу ядра Linux (исправление проверки границ nvmet-tcp)

Резюме #

CVE-2026-23112 — это уязвимость уровня ядра в пути к целевому устройству NVMe/TCP, которая может привести к сбоям ядра из-за некорректной проверки границ. Хотя она актуальна для систем хранения данных, использующих NVMe/TCP, она не влияет на RELIANOID развертываний, поскольку затронутый модуль не используется и не загружается. Тем не менее, исправленные версии включены в последние обновления. RELIANOID выпускает обновления для обеспечения полного соответствия требованиям безопасности.

📄 Загрузите этот документ в формате PDF #

    EMAIL: *

    Разработано компанией BetterDocs