CVE: CVE-2026-64566
Продукт: Ubuntu
Дата публикации: 05.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,35%; процентиль 27,87%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
Уязвимость CVE-2026-64566 в ядре Linux Ubuntu связана с некорректной передачей флага
SKBFL_SHARED_FRAG при копировании фрагментов пакетов. Это может привести к повреждению памяти и сбою ядра. Уязвимость затрагивает ряд версий ядра Linux, распространяемых через пакеты Ubuntu. Оценка риска — критическая.Базовые сведения о записи CVE и оценке риска приведены в [1].
Основные характеристики
CVE-2026-64566 описывает проблему в функции
iptfs_skb_add_frags() ядра Linux. При копировании ссылок на фрагменты из исходного пакета в новый, функция увеличивает счетчик ссылок на страницы через __skb_frag_ref(), но не передает флаг SKBFL_SHARED_FRAG в skb_shinfo->flags нового пакета. Если исходный пакет содержит общие фрагменты (например, из пула страниц), новый внутренний пакет будет воспринят как имеющий частные фрагменты. При последующем вызове esp_input() для вложенного транспортного режима SA ядро использует оптимизацию «no-COW», что позволяет изменять данные напрямую. Однако, если данные всё ещё используются другим пакетом, это приводит к перезаписи памяти и повреждению данных. Уязвимость затрагивает версии ядра Linux, распространяемые через пакеты Ubuntu 16.04 LTS, 18.04 LTS и 20.04 LTS, включая специализированные сборки.Какие продукты и версии затронуты
Уязвимость CVE-2026-64566 затрагивает следующие версии Ubuntu и связанные с ними пакеты ядра Linux: Ubuntu 16.04 LTS с пакетом
linux-hwe-edge, Ubuntu 18.04 LTS с пакетами linux-aws-5.0, linux-aws-5.3, linux-azure, linux-azure-5.3, linux-azure-edge, linux-gcp, linux-gcp-5.3, linux-gke-4.15, linux-gke-5.4, linux-gkeop-5.4, linux-hwe, linux-hwe-edge, linux-oem, linux-oracle-5.0, linux-oracle-5.3, Ubuntu 20.04 LTS с пакетами linux-aws-5.8, linux-aws-5.11, linux-aws-5.13, linux-azure-5.8, linux-azure-5.11, linux-azure-5.13, linux-gke, linux-gke-5.15, linux-gkeop, linux-gkeop-5.15, linux-hwe-5.8, linux-hwe-5.11, linux-hwe-5.13, linux-intel-5.13, linux-oem-5.10, linux-oem-5.13, linux-oem-5.14, linux-oem-5.6, linux-oracle-5.8, linux-oracle-5.11, linux-oracle-5.13, linux-raspi2, linux-riscv, linux-riscv-5.8, linux-riscv-5.11. Все указанные версии ядер, включая специализированные сборки, подвержены уязвимости.Причина уязвимости
Корневая причина уязвимости — неправильная передача флага
SKBFL_SHARED_FRAG при копировании фрагментов пакетов. Функция iptfs_skb_add_frags() увеличивает счетчик ссылок на страницы, но не устанавливает флаг SKBFL_SHARED_FRAG в новом пакете. Это приводит к тому, что ядро считает фрагменты частными, даже если они являются общими. В результате, при использовании оптимизации «no-COW» ядро может изменять данные напрямую, перезаписывая страницы, которые всё ещё используются другим пакетом. Такая ситуация может привести к повреждению памяти и сбою ядра.Как работает атака
Атака происходит через механизм XFRM (eXtensible Frame eXtension Mechanism) в ядре Linux, особенно при работе с IPTFS (IP-in-TCP Fragmentation Support). Когда пакет содержит фрагменты, полученные из пула страниц (например, через
page-pool), и эти фрагменты передаются в новый пакет, флаг SKBFL_SHARED_FRAG не передается. В дальнейшем, при вызове esp_input() для вложенного транспортного режима SA, ядро использует оптимизацию «no-COW», которая позволяет изменять данные напрямую. Однако, если данные ещё используются другим пакетом, это приводит к перезаписи памяти, что вызывает повреждение и сбои. Атакующий может использовать этот механизм для вызова паники ядра.Условия успешной эксплуатации
Для эксплуатации уязвимости необходим доступ к системе, где установлено затронутое ядро Linux, и возможность отправки специально подготовленных сетевых пакетов, которые активируют механизм XFRM с IPTFS. Также требуется, чтобы система использовала механизмы, связанные с
page-pool и shared fragments. Уязвимость не может быть использована в автоматическом режиме без специфической настройки окружения. На момент анализа не подтверждено наличие публичного эксплойта.Возможный сценарий атаки
Сценарий атаки включает отправку сетевых пакетов, содержащих фрагменты, полученные из пула страниц. Эти пакеты проходят через механизм XFRM с IPTFS, где происходит копирование фрагментов. Из-за отсутствия флага
SKBFL_SHARED_FRAG, ядро ошибочно считает фрагменты частными и применяет оптимизацию no-COW. В результате, при попытке дешифрации данных, происходит перезапись памяти, что приводит к повреждению и сбою ядра. Такой сценарий может быть использован для вызова паники ядра и отказа в обслуживании.Есть ли публичный эксплойт
На момент анализа не было подтверждено наличие публичного эксплойта для CVE-2026-64566. Отсутствие специфичных PoC или подтверждённых случаев эксплуатации не исключает потенциальную уязвимость. Наличие эксплойта не подтверждено, но риск использования уязвимости остаётся высоким из-за её критического уровня и наличия механизма для вызова сбоев ядра.
Признаки эксплуатации
В случае эксплуатации уязвимости могут наблюдаться следующие признаки: сбои ядра, паники, отказы в обслуживании, аномальные записи в журнале ядра, особенно связанные с XFRM и IPTFS. Для точной диагностики необходимо использовать специализированные инструменты мониторинга и анализ логов. В отсутствие специфичных IOC, рекомендуется использовать общие точки контроля, такие как анализ сетевого трафика, мониторинг событий ядра и проверка версий ядер Linux.
Как обнаружить атаку
Обнаружение уязвимости возможно через проверку установленных версий ядер Linux на предмет наличия CVE-2026-64566. Используются команды
uname -r и apt-cache policy <имя-пакета> для получения информации о версиях ядер. Также можно использовать ubuntu-security-status для получения сводки по безопасности. Проверка наличия уязвимых пакетов в системе позволяет определить, нуждается ли система в обновлении.Как проверить свою версию
Для проверки версии ядра в Ubuntu можно использовать следующие команды:
uname -r для получения текущей версии ядра, apt-cache policy <имя-пакета> для проверки установленных версий пакетов ядра, и ubuntu-security-status для получения сводки по безопасности. Например, для проверки пакета linux-hwe-edge следует выполнить apt-cache policy linux-hwe-edge. Вывод команды покажет, установлена ли версия, содержащая исправление уязвимости.Исправление
Рекомендуется немедленно применить исправления, доступные через обновления пакетов ядра. Обновления должны быть установлены для всех систем, использующих затронутые версии ядер Linux. Для Ubuntu 16.04 LTS — пакеты
linux-hwe-edge, для Ubuntu 18.04 LTS — пакеты linux-aws, linux-azure, linux-gcp, linux-gke, linux-hwe, и другие. Для Ubuntu 20.04 LTS — аналогично, включая linux-hwe-5.8, linux-hwe-5.11, linux-hwe-5.13, linux-aws, linux-azure, linux-gke, linux-gkeop, и другие. После установки обновлений система будет защищена от уязвимости.Временные меры защиты
В отсутствие исправлений, временные меры защиты могут включать ограничение доступа к сетевым интерфейсам, использующим XFRM и IPTFS, и мониторинг сетевого трафика на предмет подозрительных пакетов. Также рекомендуется отключить ненужные модули ядра и ограничить использование механизмов, связанных с фрагментацией пакетов. Эти меры не обеспечивают полной защиты, но могут снизить риск эксплуатации уязвимости.
Как проверить устранение уязвимости
После установки обновлений рекомендуется проверить, что версии ядер больше не содержат уязвимость. Это можно сделать с помощью команд
uname -r и apt-cache policy <имя-пакета>. Также можно использовать ubuntu-security-status для проверки, что уязвимость устранена. Успешное применение исправлений должно привести к отсутствию уязвимости в системе.Вывод
CVE-2026-64566 представляет собой критическую уязвимость в ядре Linux, затрагивающую несколько версий Ubuntu. Она связана с некорректной передачей флага
SKBFL_SHARED_FRAG при копировании фрагментов пакетов, что может привести к повреждению памяти и сбою ядра. Рекомендуется немедленно применить исправления через обновления пакетов. Временные меры защиты могут снизить риск, но не обеспечивают полной защиты. Проверка установленных версий ядер и применение обновлений — основные действия для устранения уязвимости.Официальные источники
История обновлений статьи
- 10.08.2026 — Опубликована первая версия материала.
