PwnEscape: Linux pozwalał uciec z VM
Krytyczna luka w jądrze Linux mogła ujawnić pamięć hosta, zawiesić maszynę, a nawet doprowadzić do wykonania kodu z uprawnieniami root.
Krytyczna luka w jądrze Linux
W jądrze Linux wykryto poważną podatność, która w praktyce mogła umożliwić ucieczkę z maszyny wirtualnej KVM. Błąd, określany jako PwnEscape i oznaczony jako CVE-2026-99999, otrzymał wysoki poziom krytyczności — CVSS 9,3/10.
Choć pierwotnie odkrycie było związane z wyzwaniem dotyczącym izolacji środowisk w chmurze, problem nie ograniczał się do jednego dostawcy. Źródłem okazał się mechanizm w stosie sieciowym jądra Linux, z którego korzysta wiele platform chmurowych, sandboxów i systemów CI/CD.
Jak działał problem
Sedno błędu tkwiło w sposobie obsługi pakietów sieciowych z opóźnionym wyliczaniem sumy kontrolnej. Linux dla wydajności potrafi odkładać ten proces, oznaczając pakiet jako CHECKSUM_PARTIAL. W takiej sytuacji używa dodatkowych metadanych, takich jak csum_start i csum_offset, aby wiedzieć, skąd rozpocząć obliczenia i gdzie wpisać wynik.
Problem polegał na tym, że te wartości mogła dostarczyć sama maszyna gościa. W efekcie jądro hosta mogło zapisać dane w nieodpowiednim miejscu pamięci — nawet wewnątrz wcześniej zweryfikowanego nagłówka IPv4.
W praktyce prowadziło to do sytuacji, w której:
- nagłówek IPv4 był modyfikowany po walidacji,
- system błędnie interpretował jego długość,
- jądro odczytywało dane poza właściwym pakietem,
- a fragmenty własnej pamięci hosta mogły zostać wysłane na zewnątrz jako część pakietu.
Co udało się osiągnąć w testach
Badacze pokazali kilka scenariuszy wykorzystania luki:
- wyciek pamięci hosta — możliwy w środowisku testowym i utrzymujący się, dopóki gość wysyłał pakiety,
- zawieszenie hosta — po wysłaniu zaledwie kilku pakietów w określonych konfiguracjach,
- wykonanie kodu z uprawnieniami root na hoście — osiągnięte w laboratorium, ale nie w sposób całkowicie powtarzalny.
Najważniejsze jest jednak to, że do ataku wystarczał kod działający wewnątrz VM. To sprawia, że problem jest szczególnie groźny dla infrastruktury, w której uruchamia się cudzy kod: chmur publicznych, środowisk testowych, sandboxów oraz usług dla agentów AI.
Łatka już w jądrze Linux
Poprawka została włączona do jądra Linux 14 października 2026 roku. Zmieniono logikę tak, aby przed wyliczeniem sumy kontrolnej system sprawdzał, czy operacja nie nadpisze nagłówka IPv4. Jeśli ryzyko istnieje, pakiet jest odrzucany.
Wskazane jako naprawione wersje stabilne to:
- 5.10.272
- 5.15.223
- 6.1.190
- 6.6.159
- 6.12.113
- 6.18.57
- 7.2.11
Co powinni zrobić administratorzy
Najważniejsza uwaga: aktualizacji wymaga przede wszystkim jądro hosta, a nie systemy gościa. To host przetwarza pakiety w sposób, który prowadził do błędu.
Wśród dystrybucji i dostawców pojawiły się już pierwsze działania naprawcze. W przypadku Debiana 13 Trixie opublikowano poprawkę z jądrem 6.12.113, natomiast Debian 12 Bookworm w momencie przygotowania informacji nadal był podatny. Z kolei w ekosystemie Ubuntu aktualizacja pozostawała w fazie oceny.
Dlaczego ta luka jest tak groźna
PwnEscape pokazuje, że nawet dobrze izolowana maszyna wirtualna nie jest absolutnie bezpieczna, jeśli błąd leży w warstwie jądra odpowiedzialnej za przetwarzanie sieci. To właśnie taki typ podatności bywa najcenniejszy dla napastników: pozwala przejść z gościa na hosta, czyli przełamać jedną z najważniejszych granic w nowoczesnej infrastrukturze.