15 października 2026 r. publicznie ujawniono PwnEscape (CVE-2026-99999), błąd obsługi sum kontrolnych IPv4 w jądrze Linuksa, jak podał Next.ink. Vercel i PWN.AI informują, że w produkcyjnych sandboxach Vercel wykazano ujawnienie pamięci hosta. Awarie hosta i wykonanie na nim kodu badacze demonstrowali w swoich laboratoriach, nie w produkcji Vercel (Vercel, PWN.AI).
Mechanizm błędu w obsłudze IPv4
PwnEscape dotyczy sieciowej ścieżki IPv4 w jądrze Linuksa uruchomionym na hoście, a nie kodu KVM. Metadane sumy kontrolnej kontrolowane przez maszynę gościa mogą wywołać odroczony zapis do pakietu. Ponieważ następuje on po wcześniejszym odczytaniu nagłówka IPv4, zapis może zmienić jego zawartość i sposób, w jaki kolejny etap przetwarzania interpretuje pakiet. Mechanizm opisuje badacz PWN.AI Paulos Yibelo w technicznej analizie PwnEscape.
W kontrolowanym przypadku opisanym przez PWN.AI pakiet miał 28 bajtów logicznych danych liniowych, ale później zinterpretowano go tak, jakby nagłówek IPv4 miał 60 bajtów. Różnica wyniosła 32 bajty poza logicznymi danymi pakietu. Ten wynik dotyczył konkretnego testu; granica logicznych danych nie musi pokrywać się z końcem fizycznej alokacji pamięci.
Co wykazano w produkcji, a co w laboratorium
Vercel opisuje ujawnienie pamięci hosta w swoich produkcyjnych sandboxach. Z kolei awarie i wykonanie kodu na hoście badacze sprawdzali na własnych maszynach KVM i Firecracker. PWN.AI opisała również wybrane zapisy 64-bajtowe do jądra hosta oraz ograniczony łańcuch prowadzący do uprawnień roota na własnym stanowisku KVM. Są to wyniki laboratoryjne, odrębne od ujawnienia pamięci wykazanego w produkcji Vercel (PWN.AI, Vercel).
Według Vercel badacz rozpoczął pracę ze standardowego sandboxa, bez specjalnych uprawnień. Opisywany punkt wejścia znajdował się więc po stronie niezaufanego gościa, a błąd w przetwarzaniu pakietów po stronie jądra hosta.
Co zmienia poprawka upstream
Przyjęta zmiana w jądrze sprawdza położenie csum_start przed zakończeniem sumy kontrolnej. Wartość ta musi wskazywać miejsce nie wcześniejsze niż network_header + ip_hdrlen(skb), czyli początek nagłówka sieciowego powiększony o długość odczytanego nagłówka IPv4. Warunek widać w commicie upstream Linuksa.
PWN.AI opisuje tę kontrolę jako zabezpieczenie przed wykazaną ścieżką nadpisania nagłówka IPv4. Nie wyznacza ona prawidłowego pola sumy kontrolnej TCP lub UDP ani nie przebudowuje całej obsługi sum kontrolnych. Poprawkę przyjęto do drzewa sieciowego 8 października 2026 r., a do głównej gałęzi jądra włączono 14 października. Next.ink podaje, że CVE i poprawione wydania stabilne opublikowano 15 października.
Zgłoszone poprawione wersje jądra
Next.ink wymienia wersje 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.57 i 7.2.11 jako poprawione; podaje też, że wersja 7.3 nie jest podatna. Są to zgłoszone wydania jądra, a nie kompletna lista pakietów dystrybucyjnych.
Dystrybucje mogą przenosić poprawki do swoich pakietów bez zmiany numeru wersji bazowej. Dlatego sam wynik uname -r nie zawsze pozwala ustalić, czy dana instalacja zawiera poprawkę. Status konkretnego pakietu określa komunikat bezpieczeństwa jego dystrybucji.