PwnEscape (CVE-2026-99999): a virtual machine that takes over its Linux host
CVE-2026-99999, called PwnEscape, lets a virtual machine send crafted network packets that corrupt the Linux host's kernel, leak host memory, crash the host, or run commands on it as root. Who is affected, which distributions have a fix, and how to patch KVM hosts without missing one.
Most kernel bugs need an attacker on the machine or on the network. PwnEscape (CVE-2026-99999) needs only a virtual machine. A guest that sends packets with crafted checksum information through its virtual network card can make the host's kernel rewrite part of a packet header after the host has already checked it. Researchers used that to leak host memory into the guest's packets, to crash the physical host (and every VM on it), and to run commands as root on the host.
The kernel's CVE team rates it 9.3 out of 10. It was reported by Paulos Yibelo and published on October 15.
Who is affected#
The flaw is in the Linux host's IPv4 code, on the path a guest's packets take when the host forwards them from a virtio-net network card through a TAP device. That setup is common on Linux virtualization hosts: libvirt and virt-manager, Proxmox VE, OpenStack compute nodes, and microVM platforms such as Firecracker.
- Affected: Linux machines that run other people's or untrusted workloads as KVM virtual machines with virtio-net networking: hosting, CI runners, sandboxes, VDI, and lab hosts.
- Lower risk: a host whose VMs are all yours and trusted still has the bug, but someone has to break into a guest first to use it.
- Not affected by this bug: hosts running VMware ESXi or Hyper-V (the host is not Linux), and Linux virtual machines themselves. AWS says EC2, Lambda, and Fargate are not affected; only KVM hosts you run yourself are.
It cannot be attacked from the internet directly. Its danger is the boundary it breaks: one VM reaching the host.
Who has a fix#
Upstream fixed it in 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.57, and 7.2.11. Your distribution's kernel package is what counts. As of November 2:
| Distribution | Status |
|---|---|
| RHEL 8, 9, 10 | Fixed (RHSA-2026:89082 and :89083 for RHEL 8, RHSA-2026:86033 for RHEL 9, RHSA-2026:85321 for RHEL 10) |
| Debian 12 and 13 | Fixed: linux 6.1.190-1 (bookworm), 6.12.113-1 (trixie) |
| Ubuntu 22.04, 24.04, 26.04 | No fix released yet (in progress) |
Red Hat rates it lower (Important, 8.8), and Rocky Linux and AlmaLinux follow Red Hat's fixes. Sources: the CVE record, Red Hat, Debian, Ubuntu.
It is not in CISA's Known Exploited Vulnerabilities catalog (catalog of October 30).
What to do#
- Find your KVM hosts. Any Linux machine with
/dev/kvmin use and VMs attached through TAP devices (ip -d link show type tun). Hosts are easy to forget: they are "infrastructure", not "servers". - Install the fixed kernel and restart the host. The restart is the step that protects you. Until the host boots the new kernel, the old one is still running, whatever the package manager says. Move or shut down the VMs first, or schedule the restart in a maintenance window.
- Where no fix exists yet (Ubuntu), keep untrusted workloads off those hosts if you can, keep the kernel otherwise current so the fix is one update away, and watch Ubuntu's page.
sudo dnf upgrade kernel # RHEL, Rocky, AlmaLinux
sudo apt update && sudo apt install --only-upgrade linux-image-amd64 # Debian
uname -r # after the restart: the new versionThe part that gets missed#
Package scanners look at what is installed. After the upgrade, a host reports the fixed kernel package and the scan turns green, while the old kernel keeps running until someone restarts the host. On virtualization hosts that restart is the one people put off, because it means moving or stopping VMs.
Gardience checks the kernel each Debian and Ubuntu machine is actually running, not just the one installed, and marks every Linux machine whose newest kernel is not running yet as restart needed, so a host that was patched but never restarted stays on the list. The Patch, reboot, wait, verify workflow installs the update, restarts each machine inside your change window, and waits until it is back before the run counts as done, with every machine's result in the audit log.
Questions#
Is PwnEscape being exploited?#
Not as of November 2. It is not in CISA's Known Exploited Vulnerabilities catalog. The working exploit was shown by its researchers, and the fix and a description of the bug have been public since October 15.
Is this the same as the Linux TCP bug, CVE-2026-98432?#
No. CVE-2026-98432 is in the code that accepts new TCP connections and can be reached from the network. PwnEscape is reached from a virtual machine on the host. On RHEL and Debian, the current kernel update fixes both, so one update and one restart covers both.
My Linux servers are VMs on VMware. Do I need to do anything?#
Not for PwnEscape: it is a bug in a Linux host. Your Linux VMs still need CVE-2026-98432's fix.
Try Gardience on your own machines
One supported console for Windows and Linux on open-source Salt: patching, a scored STIG/CIS-aligned baseline, drift repair, event-driven automation, two-person approval and a tamper-evident audit log. Flat yearly pricing, not per node.
Free 90-day trial (25 nodes)See it work Compare