CVE: CVE-2026-80714
Продукт: Linux Kernel
Дата публикации: 28.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,40%; процентиль 33,51%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В модуле IPVS ядра Linux обнаружен дефект, при котором синхронизированные соединения могут наследовать флаг
IP_VS_CONN_F_ONE_PACKET от destination. Это приводит к тому, что при истечении срока действия соединения узел хеш-таблицы не удаляется, оставаясь указателем на освобождённую память. Статья разбирает механику ошибки, условия её проявления и способы проверки наличия патча в системе.Основные характеристики
Риск связан с нарушением целостности хеш-таблицы соединений IPVS, что потенциально ведёт к нестабильности системы или удалённому выполнению кода. Дефект проявляется только при работе модуля IPVS с синхронизацией состояний между узлами.
- Тип ошибки: Use-after-free в хеш-таблице
conn_tab.
- CVSS: 9.8 (CRITICAL), вектор
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
- Условия атаки: Сетевой доступ, отсутствие необходимости в привилегиях и взаимодействии пользователя.
- Эксплуатация: Публичные данные о подтверждённой эксплуатации в реальных атаках отсутствуют.
- EPSS: 0,40% (процентиль 33,51%), что указывает на низкую вероятность эксплуатации в ближайший год.
Какие продукты и версии затронуты
Уязвимость затрагивает ядра Linux, в которых включён модуль IPVS и используется механизм синхронизации соединений. Точный список версий определяется наличием исходного коммита
26ec037f9841 и отсутствием исправления a63d2dbaeb50a85d4c976b15a36e6b0c7113db5b.- Компонент:
net/netfilter/ipvs/ip_vs_conn.c.
- Функция:
ip_vs_bind_dest().
- Условие риска: Использование IPVS с флагом
IP_VS_CONN_F_SYNCи наличием соединений с флагомIP_VS_CONN_F_ONE_PACKET.
- Исправление: Внесено в stable-ветки ядра (см. ссылки на коммиты в источниках).
Причина уязвимости
Причина дефекта кроется в логике привязки соединения к destination в функции
ip_vs_bind_dest(). Когда destination добавляется после создания синхронизированного соединения, функция копирует флаги из destination в структуру соединения cp->flags.Соединения с флагом
IP_VS_CONN_F_ONE_PACKET не поддерживают синхронизацию. Если синхронизированное соединение, уже добавленное в хеш-таблицу, наследует этот флаг, механизм истечения срока действия ошибочно считает его одноразовым. В результате узел хеш-таблицы не удаляется, оставаясь указателем на освобождённую память struct ip_vs_conn.Как работает атака
Атакующий направляет трафик на балансировщик, использующий IPVS с синхронизацией. При определённой последовательности событий (создание соединения до добавления destination) синхронизированное соединение получает флаг
IP_VS_CONN_F_ONE_PACKET.После освобождения структуры соединения хеш-таблица содержит «висячие» указатели. При последующих операциях с хеш-таблицей (поиск, удаление) ядро обращается к освобождённой памяти. Это приводит к повреждению данных, падению ядра или, при успешном контроле над освобождённой памятью, к выполнению произвольного кода в контексте ядра.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости необходимо соблюдение следующих условий:
- В ядре загружен модуль
ip_vsи настроен балансировщик нагрузки.
- Включена синхронизация состояний IPVS (sync daemon) между узлами кластера.
- Атакующий имеет сетевой доступ к портам, обслуживаемым IPVS.
- В конфигурации используются правила, допускающие создание соединений с флагом
IP_VS_CONN_F_ONE_PACKET.
Возможный сценарий атаки
Сценарий начинается с отправки пакетов на балансировщик, где настроена синхронизация IPVS. На узле-источнике создаётся соединение, которое синхронизируется на узел-приёмник до того, как destination будет добавлен в таблицу.
Когда destination появляется, функция
ip_vs_bind_dest() копирует флаги, включая IP_VS_CONN_F_ONE_PACKET, в уже хешированное соединение. При истечении таймаута соединение освобождается, но узел в хеш-таблице остаётся. Последующий запрос, попадающий в этот слот хеш-таблицы, вызывает обращение к освобождённой памяти, что приводит к сбое или компрометации системы.Есть ли публичный эксплойт
В доступных официальных источниках отсутствуют сведения о публичных эксплоитах, PoC или подтверждённой эксплуатации CVE-2026-80714 в реальных атаках. Наличие исправления в stable-ветках ядра подтверждает, что дефект был обнаружен и устранён разработчиками, но статус публичной доступности кода для атаки не раскрыт.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для данной уязвимости в источниках не указаны. Общие признаки, требующие дополнительной проверки:
- Записи в
dmesgилиjournalctlо kernel panic, oops или segfault в модулеip_vs.
- Необъяснимые сбои балансировщика нагрузки или потеря соединений.
- Аномальная активность в логах сетевых интерфейсов, связанных с IPVS.
Эти признаки неспецифичны и могут быть вызваны другими проблемами конфигурации или нагрузкой.
Как обнаружить атаку
Для обнаружения потенциальной эксплуатации или последствий уязвимости рекомендуется:
- Мониторинг логов ядра (
dmesg,journalctl -k) на наличие ошибок в модулеip_vs.
- Проверка стабильности балансировщика: внезапные перезапуски или потеря сессий.
- Анализ сетевых логов на предмет аномального трафика, направленного на порты IPVS.
- Использование инструментов аудита ядра (например,
auditd) для отслеживания подозрительных операций с памятью, если это поддерживается конфигурацией.
Как проверить свою версию
Для проверки версии ядра и наличия исправления используйте следующие команды:
Bash:
uname -r
uname -a
cat /proc/version
Сравните полученную версию с релизами, содержащими коммит
a63d2dbaeb50a85d4c976b15a36e6b0c7113db5b. Если версия ядра старше даты коммита и не содержит патча, система уязвима. Для точной проверки можно использовать git log в исходниках ядра или инструменты аудита пакетов дистрибутива.Исправление
Основным способом устранения уязвимости является обновление ядра Linux до версии, содержащей исправление. Патч был принят в stable-ветки ядра.
- Обновите ядро до последней доступной версии для вашего дистрибутива.
- Убедитесь, что модуль
ip_vsпересобран или обновлён вместе с ядром.
- После обновления перезагрузите систему для применения нового ядра.
- Проверьте, что коммит
a63d2dbaeb50a85d4c976b15a36e6b0c7113db5bприсутствует в истории ядра (если доступно).
Временные меры защиты
До применения обновления можно снизить риск следующими мерами:
- Отключите синхронизацию IPVS (sync daemon), если это допустимо архитектурно.
- Ограничьте сетевой доступ к портам, обслуживаемым IPVS, доверенным источникам.
- Избегайте использования режима
IP_VS_CONN_F_ONE_PACKETдля критических сервисов.
- Настройте мониторинг и алертинг на сбои модуля
ip_vsдля быстрого обнаружения аномалий.
Как проверить устранение уязвимости
Для подтверждения применения исправления:
- Проверьте версию ядра:
uname -r.
- Убедитесь, что версия соответствует релизу, содержащему патч.
- Проверьте логи загрузки ядра на наличие ошибок в модуле
ip_vs.
- Проведите функциональное тестирование балансировщика нагрузки, чтобы убедиться в стабильной работе.
- Используйте инструменты аудита (например,
rpm -q kernelилиdpkg -l linux-image-*) для проверки установленных пакетов.
Вывод
CVE-2026-80714 представляет серьёзную угрозу для систем с балансировщиком нагрузки IPVS и синхронизацией состояний. Уязвимость может привести к удалённому выполнению кода или отказу в обслуживании.
Рекомендуется незамедлительно обновить ядро до исправленной версии. Если обновление невозможно, следует ограничить доступ к IPVS и отключить синхронизацию, а также усилить мониторинг на предмет аномалий в работе модуля.
Официальные источники
- NVD — CVE-2026-80714
- FIRST EPSS — CVE-2026-80714
- ipvs: do not propagate one-packet flag to synced conns - kernel/git/stable/linux.git - Linux kernel stable tree
- ipvs: do not propagate one-packet flag to synced conns - kernel/git/stable/linux.git - Linux kernel stable tree
- ipvs: do not propagate one-packet flag to synced conns - kernel/git/stable/linux.git - Linux kernel stable tree
- ipvs: do not propagate one-packet flag to synced conns - kernel/git/stable/linux.git - Linux kernel stable tree
- ipvs: do not propagate one-packet flag to synced conns - kernel/git/stable/linux.git - Linux kernel stable tree
- ipvs: do not propagate one-packet flag to synced conns - kernel/git/stable/linux.git - Linux kernel stable tree
- ipvs: do not propagate one-packet flag to synced conns - kernel/git/stable/linux.git - Linux kernel stable tree
- ipvs: do not propagate one-packet flag to synced conns - kernel/git/stable/linux.git - Linux kernel stable tree
История обновлений статьи
- 01.09.2026 — Опубликована первая версия материала.
