PwnEscape (CVE-2026-99999) — критична вразливість мережевого коду ядра Linux з оцінкою 9,3 за CVSS 3.1. Вона стосується обробки IPv4-пакетів: дані метаданих, пов’язані з мережевим трафіком гостьової системи, могли змусити ядро змінити заголовок пакета вже після перевірки, а згодом довіритися зміненим даним під час фрагментації. Повідомлялося про витік даних із пам’яті хоста; у лабораторних умовах дослідник також продемонстрував вихід із гостьової системи на хост.
4
8
23
Як метадані контрольної суми спричинили читання за межами пакета
Мережеві пристрої можуть передавати ядру метадані про відкладену перевірку контрольної суми — механізм, відомий як checksum offload. У випадку PwnEscape до стека IPv4 могли потрапити некоректні або недовірені метадані. Під час завершення обчислення контрольної суми ядро могло перезаписати частину заголовка, який уже обробило. У прийнятому виправленні додали перевірку значення checksum_start перед завершенням обчислення.
19
23
Так виникала невідповідність між перевіркою даних і їх подальшим використанням. Код фрагментації спирався на змінений IPv4-заголовок, щоб визначити, скільки даних заголовка копіювати. У тестовому прикладі заголовок вважався 60-байтовим, хоча в пакеті було лише 28 байтів логічних даних. Різниця — 32 байти — читалася за межами логічної межі пакета. Це опис конкретного тесту, а не твердження, що кожен пакет витікав рівно на 32 байти.
18
Чому це загрожувало ізоляції віртуальних машин
Уразливість містилася в мережевому стеку Linux, а не в коді гіпервізора KVM. Це важливо, оскільки трафік гостьової VM може проходити через спільний шлях обробки пакетів у ядрі хоста. Тож заміна або оновлення самого гіпервізора не усуває помилку в цьому шляху. Ризик стосувався хостів з уразливим ядром, які обробляли контрольований зловмисником трафік із гостьових систем.
3
8
Для описаної атаки потрібно було мати змогу запускати код усередині гостьової VM і надсилати спеціально сформовані пакети. Наявні повідомлення не описують PwnEscape як атаку без автентифікації на будь-який Linux-хост, доступний через інтернет.
4
7
Що саме продемонстрували дослідники
За повідомленнями, витік пам’яті хоста продемонстрували на виробничих пісочницях Vercel. Окремо дослідник показав виконання коду на рівні хоста у власному лабораторному середовищі. Це різні результати: наявні дані не підтверджують, що на виробничих системах Vercel було отримано виконання коду з правами root.
4
6
Паулос Йібело виявив проблему під час участі в конкурсі Vercel із пошуку вразливостей у Sandbox. За повідомленнями, конкурс отримав 1 285 заявок, а PwnEscape стала єдиною знахідкою критичного рівня. Ці цифри самі по собі не свідчать про доступ до даних клієнтів.
24
30
37
Які версії ядра оновити
Виправлення в основній гілці Linux внесли комітом 6785011f8b16 із назвою ipv4: validate checksum_start before completing checksum. Стабільні випуски з виправленням: 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.57 і 7.2.11.
12
27
Оскільки помилка була в мережевому шляху ядра хоста, адміністраторам варто перевірити й оновити саме ядро хост-системи. Оновлення програм усередині гостьових VM не є заміною цього кроку. Нумерація та графік випуску ядер у дистрибутивах можуть відрізнятися, тож звіртеся з повідомленням відповідного постачальника й переконайтеся, що на хості встановлено версію з виправленням.
1
6
Станом на 16 жовтня AlmaLinux повідомила про доступність виправлених ядер. Це оновлення на конкретну дату, а не повний перелік статусів усіх дистрибутивів: строки виходу пакетів можуть відрізнятися.
6