
Guia em espanhol e script Bash para verificar se um host Linux está exposto à CVE-2026-99999 (PwnEscape), uma fuga do kernel da VM para o host, com verificação de patch e etapas de mitigação.
Guia prático em português para saber se um servidor Linux está exposto a CVE-2026-99999 ("PwnEscape") e como mitigá-la. Inclui um script que verifica o equipamento e dá um veredito com a razão.
| Campo | Valor |
|---|---|
| CVE | CVE-2026-99999 |
| Nome | PwnEscape |
| Componente | Kernel Linux, processamento de checksums IPv4 (skb_checksum_help()) |
| Severidade | CVSS 3.1 9.3 (Crítica) — AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Impacto | Uma VM maliciosa pode ler a memória do host, derrubá-lo e, em laboratório, assumir o controle com root |
| Vetor | Local: o atacante precisa executar código dentro de uma VM |
| Descoberto por | Paulos Yibelo (pwn.ai), durante o Sandbox Challenge da Vercel |
| Publicado | 15 de outubro de 2026 |
| Correção upstream | Commit 6785011f8b16 (Michael S. Tsirkin, Red Hat) |
| Exploração ativa | Não reportada · Não está no catálogo KEV da CISA |
Pense em um edifício de apartamentos:
┌──────────────────────────────────────┐
│ HOST (servidor físico + hipervisor) │ ← aquí está la falla
│ Linux con KVM / QEMU / Firecracker │
│ │
│ ┌─────────┐ ┌─────────┐ ┌────────┐ │
│ │ VM A │ │ VM B │ │ VM C │ │
│ │ │ │(atacante)│ │ │ │
│ └─────────┘ └─────────┘ └────────┘ │
└──────────────────────────────────────┘
A falha está no host, não nas VMs. Por isso:
O Linux permite que os pacotes de rede carreguem metadados que indicam onde começa um checksum e onde seu resultado é escrito. É uma otimização legítima para o checksum offloading.
O problema é a ordem das operações:
O fix valida que o início do checksum não possa apontar para dentro de um header IPv4 já processado. Ele é aplicado em cinco rotas de rede afetadas.
O código vulnerável existe desde o kernel 2.6.27 (2008).
| Ramo | Primeira versão corrigida |
|---|---|
| 5.10 | 5.10.272 |
| 5.15 | 5.15.223 |
| 6.1 | 6.1.190 |
| 6.6 | 6.6.159 |
| 6.12 | 6.12.113 |
| 6.18 | 6.18.57 |
| 7.2 | 7.2.11 |
| Mainline | 7.3-rc7 |
⚠️ Ubuntu, RHEL/Rocky/Alma, SUSE e Proxmox usam numeração própria (por exemplo
5.15.0-125-genericou5.14.0-503.el9). Nessas distros a versão não diz nada por si só: é preciso consultar o aviso de segurança da distro ou o changelog do kernel.Ramos fora desta lista (6.8, 6.19, 7.0, 7.1…) já não têm suporte upstream e não receberam o fix.
curl -O https://raw.githubusercontent.com/alvaroguzmancode/CVE-2026-99999/refs/heads/main/check-pwnescape.sh
sudo bash check-pwnescape.sh
O script verifica três coisas:
Exemplo de saída em um VPS:
== VEREDICTO ==
Rol: Este equipo ES una máquina virtual; no hospeda otras VMs.
Kernel: VULNERABLE — la versión del kernel es anterior a la corregida.
NO EXPUESTO DIRECTAMENTE.
La falla solo se explota desde una VM hacia el servidor que la hospeda.
Este equipo no hospeda VMs, así que no hay a quién atacar desde aquí.
Ojo: el que SÍ debe estar parchado es el host que aloja esta VM
(tu proveedor de nube o tu servidor Proxmox/KVM). Confírmalo con ellos.
| Código de saída | Significado |
|---|---|
0 | Não vulnerável ou não exposto |
1 | Vulnerável |
2 | Não foi possível confirmar, é necessário revisar manualmente |
1. Sou VM ou sou host?
systemd-detect-virt # "kvm", "xen", etc. = eres una VM; "none" = físico
pgrep -a qemu-ga # si aparece, eres una VM (QEMU Guest Agent)
lsmod | grep -E 'kvm|vhost' # módulos de virtualización cargados
cat /sys/module/kvm_intel/refcnt 2>/dev/null || cat /sys/module/kvm_amd/refcnt # >0 = hay VMs usando KVM
virsh list --all 2>/dev/null # VMs de libvirt
pgrep -a '^(qemu-system|firecracker)' # VMs / microVMs corriendo
2. Meu kernel tem o patch?
uname -r
# Debian / Ubuntu
zgrep -i "CVE-2026-99999" /usr/share/doc/linux-image-$(uname -r)/changelog.Debian.gz
# RHEL / Rocky / Alma / Fedora
rpm -q --changelog kernel-core-$(uname -r) | grep -i "CVE-2026-99999"
3. É necessário reiniciar?
[ -f /var/run/reboot-required ] && echo "Falta reiniciar" # Debian / Ubuntu
needs-restarting -r # RHEL
# Debian / Ubuntu / Proxmox
sudo apt update && sudo apt full-upgrade
# RHEL / Rocky / Alma / Fedora
sudo dnf update kernel
Os mantenedores do kernel recomendam instalar a versão estável completa da sua distro, não aplicar o commit isolado.
sudo reboot
# después:
uname -r
sudo bash check-pwnescape.sh
Instalar o pacote não é suficiente: o kernel novo só entra em uso após reiniciar. Em clusters, verifique cada hipervisor.
Atualizar o kernel dentro das VMs não elimina o risco, porque a falha está no host. Se você é cliente de um VPS, confirme com seu provedor que ele já patchou seus hosts.
Se o equipamento tem o KVM carregado mas não hospeda VMs, você pode reduzir a superfície:
sudo modprobe -r kvm_intel kvm_amd kvm 2>/dev/null
echo -e "blacklist kvm_intel\nblacklist kvm_amd\nblacklist kvm" | sudo tee /etc/modprobe.d/no-kvm.conf
Estas medidas não corrigem a falha, mas limitam o que um atacante conseguiria fazer ao escapar de uma VM: