Сигурност

Редакция Overclock.bg ·

Критичен пропуск в KVM: бягство от госта към хоста

Критичен пропуск в KVM: бягство от госта към хоста

Пропускът PwnEscape в мрежовия стек на Linux вече официално е класифициран като бягство от гост към хост система. CVE-2026-99999 получи оценка 9.3 от 10 в базата на NVD, а Red Hat описва възможните последствия пределно ясно: „изпълнение на произволен код върху хоста, сриване на системата с отказ на услуга или разкриване на чувствителна памет”. The Register обобщи реакциите на доставчиците на 19 октомври — и те не са еднакви.

Ключовото условие остава същото: атакуващият вече трябва да изпълнява код вътре в гост машината. Векторът на CVSS е AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — локален достъп, но със сменен scope, тоест ефектът излиза извън границата на сигурност, в която е започнал. Точно този пробив на границата качва оценката до критична.

Какво се чупи

Пропускът не е в самия KVM. Той е в обработката на IPv4 пакети в ядрото, по-точно в метаданните за отложена контролна сума — skb->ip_summed в състояние CHECKSUM_PARTIAL плюс полетата csum_start и csum_offset.

Гостът подава пакет с подправени метаданни. Ядрото проверява IPv4 хедъра, докато той още е дълъг 20 байта, и действа според тази проверка. По-късно отложеното дописване на контролната сума презаписва байт вътре в същия хедър: 0x45 става 0x4f и полето IHL скача от 5 на 15 думи, или от 20 на 60 байта. Когато ip_do_fragment() в net/ipv4/ip_output.c препрочете хедъра, той копира 60 байта там, където реалните данни са 28 — и допълва разликата с памет на хоста.

Михаел С. Циркин от Red Hat, автор на кръпката, го формулира така: „Ако пакет с лоши метаданни за контролна сума влезе в IPv4 стека, skb_checksum_help може да повреди мрежовия хедър.”

Резултатът е около 32 байта от паметта на хоста на пакет — това беше първата част от историята отпреди три дни. Новото в класификацията е, че изтичането не е таванът: в собствена лаборатория pwn.ai показва избрани 64-байтови записи в паметта на ядрото и изпълнение на код с root права върху хоста, потвърдено при четири отделни студени стартирания.

Кой е засегнат и кой не

Уязвим е кодът в непоправени ядра от 4.4 до 6.18, като самата логика съществува още от 2.6.27. Поправените стабилни версии са 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.57 и 7.2.11 нагоре. Кръпката влезе в net.git на 8 октомври и в дървото на Торвалдс на 14 октомври.

Най-важната подробност за администраторите: кърпи се ядрото на хоста, не на гостите, и машината трябва да се рестартира. Обновяване вътре във виртуалните машини не помага с нищо.

AWS публикува бюлетин 2026-137 на 15 октомври: EC2, Lambda и Fargate не са засегнати. Това обаче не значи, че всичко върху EC2 е чисто — ако въртите собствена KVM виртуализация в инстанция, този хост си е ваш и подлежи на кърпене. Google Cloud също е извън обстрела заради начина, по който реализира KVM. От другата страна са всички self-managed хостове с virtio-net и TUN/TAP, продуктите върху KVM като Proxmox и Nutanix, както и дистрибуциите — Debian, Ubuntu и RHEL разпращат свои пренесени кръпки.

Red Hat Enterprise Linux Снимка: Red Hat

Номерът на upstream версията няма да ви каже дали сте защитени, ако ползвате ядро от дистрибуция:

uname -r
# RHEL / Amazon Linux
rpm -q --changelog kernel | grep -i csum_start
# Debian / Ubuntu
apt changelog linux-image-$(uname -r) | grep -i 6785011f8b16
Внимание

Докато чакате прозорец за рестарт, ограничете кой може да пуска код в гост машините и следете за необичайна IPv4 фрагментация и сривове на ядрото след трафик от sandbox среди. SOC Prime препоръчва точно тези индикатори — заобиколно решение в конфигурацията няма.

Нов клас атаки или стара новина

Паулос Йибело, който намери пропуска, твърди, че става дума за принципно ново: „PwnEscape разкрива напълно нов клас атаки в мрежовия код на Linux — метаданни за контролна сума без доверие могат да препишат полета от значение за сигурността.” Шаблонът е класическо time-of-check/time-of-use, но на непривично място — отложена операция променя вече разчетено състояние, преди друг консуматор в ядрото да го използва.

Не всички са толкова впечатлени. Edera, която продава изолация върху Xen, посочва, че Linux е над 40 милиона реда код и само тази година са намерени седем пропуска за бягство от виртуална машина — тоест проблемът е архитектурен, а не еднократен. Интересът им е очевиден, но числото е трудно за оспорване.

Начинът на откриване също остава част от историята: Йибело работи с харнес, воден от AI модел, а сметката за токени е под 700 щатски долара. Същата механика видяхме и при загадката на NSA, която Claude разплете за половин час.

Заключение

За домашния десктоп PwnEscape е без значение. За всеки, който дава на чужд код виртуална машина — хостинг, CI, sandbox — приоритетът е ясен: кърпете ядрото на хоста и рестартирайте. Кръпката е налична за всички поддържани клонове от няколко дни, атаката не изисква екзотичен хардуер, а изтичането не оставя следи в логовете на жертвата.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още