PwnEscape otvara put iz virtuelne mašine do memorije Linux hosta

Kritična ranjivost u Linux kernelu, evidentirana kao CVE-2026-99999 i nazvana PwnEscape, omogućava kodu unutar virtuelne mašine da čita memoriju fizičkog hosta. Ocenjena je sa 9,3 od 10, a Vercel je potvrdio demonstraciju curenja memorije u produkcionim sandbox okruženjima. Problem je u mrežnom kodu Linux kernela, pa nije ograničen na konfiguraciju jednog cloud provajdera.
Paulos Yibelo iz kompanije pwn.ai pokazao je da posebno oblikovani mrežni paketi iz gostujuće VM mogu da izazovu čitanje memorije hosta, rušenje hosta i izvršavanje koda. Vercel navodi da je u svom okruženju potvrđeno curenje memorije, dok su rušenje i izvršavanje koda testirani samo na istraživačevim sistemima podešenim da odgovaraju Vercelovoj infrastrukturi.
Koliki je domet propusta
Jedan paket koji gost pošalje mogao je da vrati oko 32 bajta memorije hosta, a slanje se moglo ponavljati. Dva posebno pripremljena paketa bila su dovoljna da sruše host u laboratorijskom testu i obore sve sandbokse koji na njemu rade. Istraživač je naglasio da laboratorijski rezultat ne predstavlja tvrdnju o izvršavanju administratorskih komandi u produkcionom okruženju bilo kog dobavljača.
Napad je klasifikovan kao lokalni: napadač mora već da ima mogućnost izvršavanja koda unutar gostujuće virtuelne mašine. Zato se propust ne aktivira običnim slanjem paketa preko javnog interneta. Nema prijavljenih stvarnih zloupotreba, niti je CVE-2026-99999 u CISA katalogu aktivno iskorišćenih ranjivosti.
Vercel Sandbox koristi Firecracker microVM-ove na bare-metal Amazon EC2 hostovima. Iako je granica između korisničkog koda i hosta dodatno ojačana, ranjivost se nalazi u Linux mrežnom sloju koji host izvršava. To je razlog zbog kog problem može biti relevantan za zajedničku cloud infrastrukturu, a ne samo za Vercelovu uslugu.
Zakrpa je na hostu, ne u gostujućoj mašini
Ispravka je objedinjena u Linux commit-u 6785011f8b16, čiji je autor Michael S. Tsirkin iz Red Hata. Ona proverava da podaci o kontrolnoj sumi paketa ne mogu da pokazuju unutar IPv4 zaglavlja pre nego što kernel obradi paket, i uvodi proveru na pet mesta u mrežnom kodu. Autor promenu opisuje kao mjeru odbrane u dubinu, uz napomenu da je potrebna i potpunija provera na ulazu paketa u kernel.
Prve ispravljene verzije stabilnih grana su 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.57 i 7.2.11. Distribucije mogu isporučiti zakrpu bez promene vidljivog broja verzije, pa treba proveriti savet proizvođača i kernel koji host zaista izvršava, a ne oslanjati se samo na izlaz komande uname.
Operativni zaključak
Potrebno je ažurirati host kernel na ispravljenu verziju ili verziju dobavljača koja sadrži zakrpu, a zatim restartovati host. Ažuriranje kernela samo u gostujućoj VM ne rešava problem. Dok se zakrpa ne primeni, ograničavanje posledica proboja ostaje važan sloj zaštite: Vercel navodi ažurne host kernele, isključenu ugnježdenu virtualizaciju i Firecracker jailer sa minimalnim ovlašćenjima.
U širem kontekstu rizika koje donose Linux okruženja i virtuelizacija, Linux-rutkiti i bezbednost virtuelizacije pokazuje da pravovremeno zakrpljivanje i segmentacija ostaju ključni kada se bezbednosna granica nalazi u zajedničkom sloju infrastrukture.

