CVE-2026-64566 в Ubuntu: нарушение целостности памяти в xfrm и защита

CVE: CVE-2026-64566
Продукт: Ubuntu
Дата публикации: 05.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,35%; процентиль 27,98%
CISA KEV: нет подтверждения в каталоге CISA KEV

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


В ядре Linux обнаружена уязвимость в модуле xfrm (IPTFS), приводящая к повреждению памяти и возможному падению системы. Ошибка возникает при обработке пакетов IP-in-IP в связке с ESP. Статья описывает механику дефекта, затронутые версии Ubuntu и способы проверки и устранения.

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


Риск связан с некорректным управлением общими фрагментами памяти в сетевом стеке ядра. Дефект позволяет нарушить целостность данных в памяти ядра, что может привести к отказу в обслуживании (DoS) или более серьезным последствиям.

  • Тип ошибки: Нарушение целостности памяти (memory corruption) из-за некорректного управления ссылками на страницы.
  • CVSS: 9.8 (CRITICAL), вектор CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Высокий балл отражает возможность удаленной атаки без аутентификации.
  • Условия атаки: Удаленный доступ к сети, где активны туннели IP-in-IP (IPTFS) и ESP.
  • Эксплуатация: Публичные данные о подтвержденной эксплуатации в реальных атаках отсутствуют.
  • EPSS: 0,35% (процентиль 28%). Вероятность эксплуатации в ближайшем будущем оценивается как низкая.

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


Уязвимость затрагивает множество версий ядра Linux, поставляемых в составе Ubuntu. Список включает LTS-релизы 16.04, 18.04 и 20.04, а также специализированные ядра для облачных платформ (AWS, Azure, GCP, Oracle) и OEM-сборки.

  • Ubuntu 16.04 LTS: Пакет linux-hwe-edge версии 4.15.0-23.25~16.04.1.
  • 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-azure-fde, linux-gcp-5.8, linux-gcp-5.11, linux-gcp-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.6, linux-oem-5.10, linux-oem-5.13, linux-oem-5.14, linux-oracle-5.8, linux-oracle-5.11, linux-oracle-5.13, linux-raspi2, linux-riscv, linux-riscv-5.8, linux-riscv-5.11.

Полный список бинарных пакетов доступен в официальных базах данных безопасности Ubuntu.

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


Причина дефекта кроется в функции iptfs_skb_add_frags(), которая копирует фрагменты данных (frags) из исходного сетевого пакета (SKB) в новый. При копировании функция увеличивает счетчик ссылок на страницы памяти через __skb_frag_ref(), но не устанавливает флаг SKBFL_SHARED_FRAG в метаданных нового пакета.

Этот флаг необходим для того, чтобы другие части ядра (в частности, ESP) понимали, что страницы памяти разделяются несколькими пакетами. Без флага ESP считает, что страницы принадлежат только текущему пакету, и применяет быстрый путь обработки без копирования (no-COW fast path). В результате данные записываются в память, которая все еще используется другими пакетами, что приводит к повреждению данных.

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


Атакующий направляет в систему пакет, который обрабатывается подсистемой IPTFS (IP-in-IP). В процессе обработки создается внутренний пакет, содержащий фрагменты, общие с внешним пакетом. Из-за отсутствия флага SKBFL_SHARED_FRAG внутренний пакет выглядит как владелец уникальных страниц.

Когда этот внутренний пакет попадает в обработчик ESP (например, для туннеля в транспортном режиме), ESP применяет алгоритм шифрования/расшифровки непосредственно в памяти пакета (in-place). Поскольку страницы памяти разделяются с внешним IPTFS-пакетом, запись данных ESP повреждает память, используемую внешним пакетом. Это приводит к некорректной работе ядра, ошибкам памяти и потенциальному падению системы (panic).

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


Для успешной эксплуатации уязвимости необходимо соблюдение следующих условий:

  • Система должна использовать ядро Linux, содержащее дефектный код в модуле xfrm.
  • Должна быть активна обработка пакетов IP-in-IP (IPTFS).
  • Должна быть настроена обработка ESP (Encapsulating Security Payload) в транспортном режиме для вложенных туннелей.
  • Атакующий должен иметь возможность отправлять пакеты в систему, которые будут обработаны указанным стеком.

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


Сценарий атаки предполагает, что злоумышленник отправляет специально сформированный пакет IP-in-IP. Ядро обрабатывает внешний заголовок и создает внутренний пакет. При этом внутренний пакет наследует фрагменты, общие с внешним, но без флага, указывающего на их общее использование.

Далее внутренний пакет обрабатывается ESP. Алгоритм расшифровки записывает данные в память, которая также используется внешним пакетом. Это приводит к повреждению структур данных ядра.

В результате система может испытать сбой, зависание или перезагрузку. Атакующий может использовать этот сценарий для проведения атаки на отказ в обслуживании (DoS).

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


На момент публикации статьи публичные данные о подтвержденной эксплуатации CVE-2026-64566 в реальных атаках отсутствуют. В базах данных и официальных источниках нет информации о готовых эксплойтах или PoC, используемых злоумышленниками.

Отсутствие сведений об эксплуатации не означает, что уязвимость не может быть использована. Механика дефекта описана в технических отчетах, что позволяет исследователям разработать собственные эксплойты. Рекомендуется отнестись к уязвимости как к потенциально опасной и своевременно установить обновления.

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


Специфичные индикаторы компрометации (IOC) для CVE-2026-64566 не опубликованы. Поскольку уязвимость приводит к повреждению памяти и падению системы, прямых следов атаки в логах может не быть.

Общие точки контроля (неспецифичные):

  • Внезапные перезагрузки или паники ядра (kernel panic) без видимых причин.
  • Ошибки памяти (memory corruption) в логах ядра, связанные с обработкой сетевых пакетов.
  • Необычная активность в сетевых интерфейсах, связанная с туннелями IP-in-IP и ESP.
  • Снижение производительности системы при обработке сетевого трафика.

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


Обнаружение атаки, использующей CVE-2026-64566, затруднено из-за отсутствия специфичных сигнатур. Рекомендуется использовать следующие методы:

  • Мониторинг логов ядра на наличие ошибок памяти и паник.
  • Анализ сетевого трафика на предмет аномальной активности в туннелях IP-in-IP и ESP.
  • Использование систем обнаружения вторжений (IDS/IPS) с правилами для аномального сетевого трафика.
  • Регулярная проверка обновлений безопасности и установка патчей.

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


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

Bash:
cat /etc/os-release
uname -r
apt-cache policy <имя-пакета>
ubuntu-security-status

Замените <имя-пакета> на название конкретного пакета ядра (например, linux-image-generic или linux-aws-5.0). Команда ubuntu-security-status покажет, какие пакеты требуют обновления безопасности.

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


Единственным надежным способом устранения уязвимости является обновление ядра Linux до версии, содержащей исправление. Исправление заключается в добавлении установки флага SKBFL_SHARED_FRAG в функции iptfs_skb_add_frags().

Для обновления пакетов в Ubuntu выполните:

Bash:
sudo apt update
sudo apt upgrade

После обновления перезагрузите систему для применения нового ядра:

Bash:
sudo reboot

Убедитесь, что все пакеты ядра обновлены до последних версий, содержащих исправление.

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


Пока обновление не установлено, можно снизить риск атаки, ограничив использование уязвимых функций:

  • Отключите обработку пакетов IP-in-IP (IPTFS), если это не требуется для работы системы.
  • Отключите использование ESP в транспортном режиме для вложенных туннелей, если это возможно.
  • Ограничьте доступ к сети, где активны туннели IP-in-IP и ESP, только для доверенных источников.
  • Используйте межсетевые экраны для фильтрации подозрительного сетевого трафика.

Эти меры не устраняют уязвимость, но снижают вероятность ее эксплуатации.

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


После обновления системы проверьте, что уязвимость устранена:

  1. Убедитесь, что версия ядра соответствует исправленной версии.
  2. Проверьте, что все пакеты ядра обновлены до последних версий.
  3. Проведите тестирование системы на наличие ошибок памяти при обработке сетевого трафика.
  4. Используйте инструменты аудита безопасности для проверки конфигурации системы.

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

Вывод​


CVE-2026-64566 представляет серьезную угрозу для систем, использующих уязвимые версии ядра Linux. Уязвимость позволяет нарушить целостность памяти и привести к отказу в обслуживании.

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

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


  1. NVD — CVE-2026-64566
  2. Ubuntu OSV — CVE-2026-64566
  3. FIRST EPSS — CVE-2026-64566

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


  • 10.08.2026 — Опубликована первая версия материала.
  • 10.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
  • 12.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
  • 27.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
  • 31.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
 
Последнее редактирование:
Назад
Верх Низ