CVE-2026-74597 в Linux Kernel: критическая уязвимость в ip6_tunnel и порядок обновления

CVE: CVE-2026-74597
Продукт: Linux Kernel
Дата публикации: 22.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,51%; процентиль 41,48%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В Linux Kernel обнаружена критическая уязвимость CVE-2026-74597 в модуле ip6_tunnel. Ошибка позволяет нарушить целостность данных в ядре при обработке ICMPv6-сообщений, что может привести к удаленному выполнению кода. Исправление уже доступно в стабильных ветках ядра. Статья разбирает механику атаки, уязвимые версии и практические шаги по защите.

Основные характеристики​


CVE-2026-74597 классифицируется как уязвимость с критическим уровнем опасности (CVSS 9.8). Вектор атаки — сетевой, сложность — низкая, привилегии не требуются. Ошибка затрагивает подсистему ip6_tunnel в Linux Kernel. Уязвимость связана с некорректной очисткой метаданных пакета (skb->cb) при обработке ICMPv6-ошибок, что приводит к повреждению skb_shared_info. Эксплуатация возможна удаленно через специально сформированные IPv6-пакеты.

Какие продукты и версии затронуты​


Уязвимость затрагивает Linux Kernel в версиях, содержащих код, введённый в коммите e490d1d85cf5. Исправление распространено в стабильных ветках ядра. Конкретные номера версий, в которых присутствует уязвимость, не указаны в предоставленных источниках. Рекомендуется проверить наличие патча в вашей дистрибутивной версии ядра. Модуль ip6_tunnel должен быть активен для эксплуатации уязвимости.

Причина уязвимости​


Причина уязвимости — неочистка буфера skb->cb в функции ip6ip6_err(). При клонировании внешнего IPv6 ICMP error skb и его обработке для внутреннего пакета, метаданные внешнего пакета (inet6_skb_parm) остаются в skb->cb. Если внешний пакет содержал Home Address Option, поле dsthao остаётся ненулевым. При последующем вызове mip6_addr_swap() этот устаревший смещение используется для внутреннего пакета, что приводит к выходу за границы буфера и повреждению skb_shared_info.

Как работает атака​


Атакующий отправляет IPv6-пакет, содержащий ICMPv6-ошибку, через туннель ip6_tunnel. Ядро клонирует пакет и пытается обработать внутренний IPv6-пакет. Из-за неочистки skb->cb, функция mip6_addr_swap() использует смещение dsthao, относящееся к внешнему пакету, для внутреннего. Если внутренний заголовок destination-options сформирован некорректно, происходит выход за границы буфера и повреждение skb_shared_info. Это может привести к отказу в обслуживании или удаленному выполнению кода.

Условия успешной эксплуатации​


Для эксплуатации уязвимости требуется, чтобы на целевой системе был активен модуль ip6_tunnel. Атакующий должен иметь сетевой доступ к системе, чтобы отправить специально сформированный IPv6-пакет. Привилегии не требуются. Сложность атаки низкая, так как не требуется взаимодействие пользователя. Уязвимость эксплуатируется удаленно.

Возможный сценарий атаки​


Атакующий формирует IPv6-пакет с ICMPv6-ошибкой, содержащий Home Address Option во внешнем заголовке. Пакет отправляется на систему с активным ip6_tunnel. Ядро обрабатывает пакет, клонирует skb и пытается отправить ICMPv6-ответ. Из-за неочистки skb->cb, функция mip6_addr_swap() использует устаревшее смещение dsthao для внутреннего пакета. Некорректный внутренний заголовок destination-options вызывает выход за границы буфера и повреждение skb_shared_info. Это может привести к падению ядра или удаленному выполнению кода.

Есть ли публичный эксплойт​


Публичный эксплойт для CVE-2026-74597 не подтвержден в предоставленных источниках. Уязвимость была обнаружена и исправлена в ядре Linux. Техническое описание атаки доступно в коммитах исправления. Отсутствие сведений о публичном эксплойте не означает, что он не существует. Рекомендуется считать уязвимость эксплуатируемой и обновить систему.

Признаки эксплуатации​


Специфичные индикаторы компрометации (IOC) для CVE-2026-74597 не раскрыты в официальных источниках. Общие неспецифичные точки контроля включают: анализ логов ядра на наличие ошибок в подсистеме ip6_tunnel, мониторинг аномального трафика IPv6 с ICMPv6-ошибками, проверка на наличие неавторизованных процессов. Эти индикаторы не являются уникальными для данной уязвимости.

Как обнаружить атаку​


Для обнаружения эксплуатации CVE-2026-74597 рекомендуется анализировать логи ядра на наличие ошибок в подсистеме ip6_tunnel. Мониторинг сетевого трафика на предмет аномальных IPv6-пакетов с ICMPv6-ошибками может помочь в выявлении атак. Использование систем обнаружения вторжений (IDS) с правилами для IPv6-трафика также целесообразно. Специфичные сигнатуры для данной уязвимости не опубликованы.

Как проверить свою версию​


Для проверки версии ядра Linux используйте следующие команды:

Bash:
uname -r
uname -a
cat /proc/version

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

Исправление​


Единственный надежный способ устранения уязвимости CVE-2026-74597 — обновление ядра Linux до версии, содержащей исправление. Патч добавляет очистку skb->cb перед обработкой внутреннего пакета. Обновите ядро через пакетный менеджер вашей дистрибутивной системы. После обновления перезагрузите систему, чтобы применить новое ядро. Не откладывайте обновление, так как уязвимость критическая и эксплуатируема удаленно.

Временные меры защиты​


Временные меры защиты включают отключение модуля ip6_tunnel, если он не используется. Это можно сделать с помощью команды modprobe -r ip6_tunnel (если модуль загружен динамически). Также можно ограничить доступ к системе через межсетевой экран, блокируя IPv6-трафик с ICMPv6-ошибками. Эти меры не устраняют уязвимость, но снижают риск эксплуатации. Обновление ядра остается приоритетным.

Как проверить устранение уязвимости​


Для проверки, что уязвимость устранена, убедитесь, что ядро обновлено до версии, содержащей патч. Проверьте версию ядра с помощью uname -r и сравните с официальными списками исправленных версий. Также можно проверить наличие патча в исходном коде ядра, если вы компилируете его самостоятельно. После обновления перезагрузите систему и убедитесь, что модуль ip6_tunnel работает корректно.

Вывод​


CVE-2026-74597 — критическая уязвимость в Linux Kernel, позволяющая удаленно нарушить целостность данных в ядре. Исправление уже доступно в стабильных ветках ядра. Обновление системы является обязательным и не должно откладываться. Атакующий может эксплуатировать уязвимость без привилегий, что делает систему уязвимой для удаленного выполнения кода. Проверьте версию ядра, обновите его и при необходимости отключите модуль ip6_tunnel до применения патча.

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


  1. NVD — CVE-2026-74597
  2. FIRST EPSS — CVE-2026-74597
  3. ip6_tunnel: clear skb2->cb[] in ip6ip6_err() - kernel/git/stable/linux.git - Linux kernel stable tree
  4. ip6_tunnel: clear skb2->cb[] in ip6ip6_err() - kernel/git/stable/linux.git - Linux kernel stable tree
  5. ip6_tunnel: clear skb2->cb[] in ip6ip6_err() - kernel/git/stable/linux.git - Linux kernel stable tree
  6. ip6_tunnel: clear skb2->cb[] in ip6ip6_err() - kernel/git/stable/linux.git - Linux kernel stable tree
  7. ip6_tunnel: clear skb2->cb[] in ip6ip6_err() - kernel/git/stable/linux.git - Linux kernel stable tree
  8. ip6_tunnel: clear skb2->cb[] in ip6ip6_err() - kernel/git/stable/linux.git - Linux kernel stable tree
  9. ip6_tunnel: clear skb2->cb[] in ip6ip6_err() - kernel/git/stable/linux.git - Linux kernel stable tree
  10. ip6_tunnel: clear skb2->cb[] in ip6ip6_err() - kernel/git/stable/linux.git - Linux kernel stable tree

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


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