
Een kritieke kwetsbaarheid in de Linux kernel maakte het mogelijk om vanuit een virtuele machine de host te bereiken. De bug is nu verholpen.
De Linux kernel is voorzien van een patch die een ernstige kwetsbaarheid oplost waardoor aanvallers vanuit een virtuele machine (VM) de isolatie konden doorbreken en toegang konden krijgen tot het onderliggende host-systeem. Deze kwetsbaarheid, bekend als PwnEscape en geregistreerd als CVE-2026-99999, maakte misbruik van een fout in de netwerkstack van de kernel waarbij door de gast gecontroleerde pakketmetadata een wijziging in een IPv4-header kon veroorzaken nadat de kernel deze al had verwerkt.
De fout werd ontdekt door securityonderzoeker Paulos Yibelo van Pwn.ai tijdens deelname aan de Sandbox security challenge van Vercel, een wedstrijd met een prijs van 1 miljoen dollar die onderzoekers uitnodigde om de isolatie van Vercels sandbox-infrastructuur te testen, inclusief het ontsnappen uit de VM naar de host. Vercel noemde PwnEscape de ernstigste kwetsbaarheid die via dit programma werd gemeld. Volgens Vercels principal security engineer Andy Riancho werden de aanvallen gedemonstreerd op KVM- en Firecracker-omgevingen die overeenkomen met de configuratie van Vercel Sandbox, zonder dat er aanwijzingen zijn dat klantgegevens zijn ingezien.
De kern van de kwetsbaarheid ligt in de checksum-offloading functionaliteit van Linux, waarbij de kernel het berekenen van de checksum van netwerkpakketten uitstelt tot een later stadium. De metadata van het pakket bepaalt waar de berekening begint en waar het resultaat wordt geschreven. Door deze metadata te manipuleren, kon een aanvaller een schrijfoperatie in de IPv4-header forceren nadat de kernel deze al had verwerkt. Dit leidde tot een time-of-check/time-of-use (TOCTOU) probleem, waarbij de kernel beveiligingsbeslissingen maakt op basis van een originele header, maar later werkt met een gewijzigde header zonder deze opnieuw te valideren. Yibelo toonde aan dat hiermee de lengte van de IPv4-header kon worden aangepast, waardoor fragmentatiecode geheugen buiten het geldige pakket als header interpreteerde en zo 32 bytes van het hostgeheugen in een uitgaand pakket kon opnemen.
De oplossing, geïmplementeerd in commit 6785011f8b16, voegt validatiecontroles toe vóór de checksum-afrondingsoperaties om te voorkomen dat de checksum-schrijfoperatie de IPv4-header kan beschadigen. Deze patch werd op 8 oktober opgenomen in de Linux development tree en op 14 oktober gemerged in de mainline kernel. De fix is inmiddels beschikbaar in diverse stabiele Linux-versies, waaronder 5.10, 5.15, 6.1, 6.6, 6.12, 6.18 en 7.2.
Yibelo rapporteerde dat hij de geheugenlek-kwetsbaarheid kon combineren met aanvullende exploitatiestappen om gerichte kernelgeheugenschrijfacties uit te voeren en een host-root helper te starten op zijn testsystemen. Hoewel de volledige details van de escape nog worden verwacht, benadrukte hij dat het probleem niet specifiek is voor KVM of een andere hypervisor, maar in de Linux netwerkstack zelf zit, wat de impact breed maakt.












