В ядре Linux обнаружена критическая уязвимость CVE-2026-99999, получившая название PwnEscape. CVSS: 9.3. Уязвимый код присутствует в ядре около 18 лет. Исследователям удалось продемонстрировать утечку памяти хоста, его зависание и выполнение кода от имени root на хост-системе.

В чём проблема

Уязвимость находится не в самом KVM, а в сетевом стеке IPv4 ядра Linux — в обработке контрольных сумм пакетов, поступающих от виртуальных машин через virtio-net. Специально сформированный пакет от гостевой VM позволяет перезаписать данные в уже проверенном IPv4-заголовке на стороне хоста. Это открывает путь к утечке памяти хоста, его падению и потенциально — к выполнению произвольного кода с правами root на физическом сервере.

Для VPS-хостингов это означает, что арендатор виртуальной машины теоретически может атаковать физический сервер и другие VM на нём. Для shared-хостинга без виртуализации — риск зависит от настроек пространств пользователей (user namespaces), которые на большинстве современных дистрибутивов включены по умолчанию.

Какие системы затронуты

Уязвимость присутствует начиная с ядра Linux 2.6.27. Из актуальных дистрибутивов:

  • RHEL 6–10 — затронуты, исправленного пакета нет
  • Ubuntu 22.04, 24.04, 26.04 — статус уточняется
  • AlmaLinux 8, 9, 10 — патчи в тестовых репозиториях
  • Rocky Linux — патч ожидается
  • SUSE 15 SP7, 16.0, 16.1 — затронуты, исправления готовятся
  • Debian 12 — исправлено в 6.1.190-1 (DLA-4841-1)
  • Debian 13 — исправлено в 6.12.113-1 (DSA-6568-1)

Как исправить

Единственное надёжное решение — обновление ядра и перезагрузка. Публичного эксплоита нет, но наличие PoC у исследователей означает, что появление рабочего эксплоита — вопрос времени.

Первые исправленные стабильные версии ядра upstream:

  • Linux 5.10 → 5.10.272
  • Linux 5.15 → 5.15.223
  • Linux 6.1 → 6.1.190
  • Linux 6.6 → 6.6.159
  • Linux 6.12 → 6.12.113
  • Linux 6.18 → 6.18.57
  • Linux 7.2 → 7.2.11

Дистрибутивы могут бэкпортировать исправление без изменения мажорной версии — проверьте security advisory вашего дистрибутива. Обновлять нужно ядро хоста; обновление только гостевых систем не защищает.

Если обновить ядро немедленно невозможно, можно отключить контрольные суммы на стороне гостя (параметр QEMU csum=off,guest_csum=off) — но это снижает производительность сети и требует перезапуска виртуальной машины.

← Ко всем новостям