Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-99999 — Испаноязычное руководство и Bash-скрипт для проверки того, подвержен ли Linux-хост воздействию CVE-2026-99999 (PwnEscape) — побега из виртуальной машины в хост через ядро, — с проверкой патча и шагами по устранению. | Kitploit
Инструменты/GitHubGitHub/alvaroguzmancode/cve-2026-99999
Оборонительные ИнструментыБезопасность контейнеровАнализ уязвимостейАудит конфигурацииВиртуализация для безопасностиОбучение и ОбразованиеРеагирование на Инциденты
GitHub

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
alvaroguzmancode/cve-2026-99999

CVE-2026-99999

Испаноязычное руководство и Bash-скрипт для проверки того, подвержен ли Linux-хост воздействию CVE-2026-99999 (PwnEscape) — побега из виртуальной машины в хост через ядро, — с проверкой патча и шагами по устранению.

Репозиторий
317 дней назадЕщё не проверено
Поделиться

CVE-2026-99999 — PwnEscape: обнаружение и смягчение

CVSS Kernel Tipo Explotación

Практическое руководство на испанском языке, позволяющее определить, подвержен ли сервер Linux уязвимости CVE-2026-99999 ("PwnEscape"), и как её смягчить. Включает скрипт, который проверяет машину и выдаёт вердикт с обоснованием.


📋 Сводка

ПолеЗначение
CVECVE-2026-99999
НазваниеPwnEscape
КомпонентЯдро Linux, обработка контрольных сумм IPv4 (skb_checksum_help())
КритичностьCVSS 3.1 9.3 (Критическая) — AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
ВоздействиеВредоносная ВМ может читать память хоста, обрушить его и, в лабораторных условиях, получить контроль с правами root
ВекторЛокальный: атакующему необходимо выполнить код внутри ВМ
ОбнаруженоPaulos Yibelo (pwn.ai), в ходе Sandbox Challenge от Vercel
Опубликовано15 октября 2026 г.
Исправление upstreamКоммит 6785011f8b16 (Michael S. Tsirkin, Red Hat)
Активная эксплуатацияНе зафиксирована · Отсутствует в каталоге KEV CISA

🧠 Что это? (объяснение простыми словами)

Представьте многоквартирный дом:

  • Дом — это физический сервер, хост.
  • Каждая квартира — это виртуальная машина (ВМ).
  • PwnEscape — это дефект в стенах дома: из квартиры злонамеренный жилец может подглядывать или проникнуть в администрацию здания.
┌──────────────────────────────────────┐
│  HOST (servidor físico + hipervisor) │  ← aquí está la falla
│  Linux con KVM / QEMU / Firecracker  │
│                                      │
│   ┌─────────┐ ┌─────────┐ ┌────────┐ │
│   │  VM  A  │ │  VM  B  │ │  VM  C │ │
│   │         │ │(atacante)│ │        │ │
│   └─────────┘ └─────────┘ └────────┘ │
└──────────────────────────────────────┘

Уязвимость находится в хосте, а не в виртуальных машинах. Поэтому:

  • ✅ Если ваш сервер — это VPS или виртуальная машина (DigitalOcean, AWS, Hetzner, Proxmox и т. д.), вы не являетесь целью. Патчить должен ваш провайдер или тот, кто администрирует хост.
  • ⚠️ Если ваш сервер размещает виртуальные машины (Proxmox, KVM/libvirt, OpenStack, Firecracker), то вы являетесь целью, особенно если вы запускаете виртуальные машины третьих сторон или недоверенный код.

🔬 Как это работает? (технический уровень)

Linux позволяет сетевым пакетам нести метаданные, указывающие, где начинается контрольная сумма и где записывается её результат. Это законная оптимизация для checksum offloading.

Проблема заключается в порядке операций:

  1. Ядро получает пакет от виртуальной машины с обычным заголовком IPv4 (IHL = 20 байт) и проверяет его.
  2. Затем отложенная операция вычисления контрольной суммы, управляемая метаданными, отправленными виртуальной машиной, перезаписывает этот же уже проверенный заголовок и меняет его на IHL = 60 байт.
  3. Логика фрагментации доверяет новому значению и копирует больше данных, чем фактически содержит пакет.
  4. Эти лишние байты — это память хоста (32 байта на пакет в тесте), и атаку можно повторять.

Исправление проверяет, что начало контрольной суммы не может указывать внутрь уже обработанного заголовка IPv4. Оно применяется в пяти затронутых сетевых путях.

Уязвимый код существует начиная с ядра 2.6.27 (2008).


📦 Исправленные версии

ВеткаПервая исправленная версия
5.105.10.272
5.155.15.223
6.16.1.190
6.66.6.159
6.126.12.113
6.186.18.57
7.27.2.11
Mainline7.3-rc7

⚠️ Ubuntu, RHEL/Rocky/Alma, SUSE и Proxmox используют собственную нумерацию (например, 5.15.0-125-generic или 5.14.0-503.el9). В этих дистрибутивах версия сама по себе ничего не говорит: нужно проверить уведомление безопасности дистрибутива или changelog ядра.

Ветки вне этого списка (6.8, 6.19, 7.0, 7.1…) больше не поддерживаются upstream и не получили исправление.


🔍 Подвержен ли я атаке?

Вариант A — Автоматический скрипт (рекомендуется)

curl -O https://raw.githubusercontent.com/alvaroguzmancode/CVE-2026-99999/refs/heads/main/check-pwnescape.sh
sudo bash check-pwnescape.sh

Скрипт проверяет три вещи:

  1. Роль машины: является ли она виртуальной машиной, размещает ли она виртуальные машины или может их размещать, но сейчас этого не делает.
  2. Патч: ищет CVE в changelog ядра и сравнивает с исправленными версиями.
  3. Ожидающая перезагрузка: установлено ли новое ядро, которое ещё не активно.

Пример вывода на 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.
Код выходаЗначение
0Не уязвим или не подвержен
1Уязвим
2Не удалось подтвердить, требуется ручная проверка

Вариант B — Ручная проверка

1. Я VM или хост?

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. Есть ли в моём ядре патч?

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. Требуется ли перезагрузка?

[ -f /var/run/reboot-required ] && echo "Falta reiniciar"   # Debian / Ubuntu
needs-restarting -r                                          # RHEL

🛡️ Меры по устранению

1. Обновить ядро хоста (реальное решение)

# Debian / Ubuntu / Proxmox
sudo apt update && sudo apt full-upgrade

# RHEL / Rocky / Alma / Fedora
sudo dnf update kernel

Сопровождающие ядра рекомендуют устанавливать полную стабильную версию вашего дистрибутива, а не применять отдельный коммит.

2. Перезагрузка и проверка

sudo reboot
# después:
uname -r
sudo bash check-pwnescape.sh

Установить пакет недостаточно: новое ядро вступает в силу только после перезагрузки. В кластерах проверяйте каждый гипервизор.

3. Патчить только виртуальные машины бесполезно

Обновление ядра внутри виртуальных машин не устраняет риск, поскольку уязвимость находится на хосте. Если вы клиент VPS, подтвердите у своего провайдера, что он уже пропатчил свои хосты.

4. Загружать KVM, если вы его не используете

Если на машине загружен KVM, но она не размещает виртуальные машины, вы можете сократить поверхность атаки:

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

5. Эшелонированная защита (пока патчи не установлены)

Эти меры не устраняют уязвимость, но ограничивают то, чего смог бы добиться атакующий, вырвавшийся из VM:

Скачать инструмент