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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-23111-nftables-lab — Проверка подверженности и безопасная лаборатория одноразовых ВМ для CVE-2026-23111 (повышение привилегий на локальном уровне из-за use-after-free в nf_tables Linux). Защита: обнаружение, смягчение, лаборатория с несколькими дистрибутивами. Без эксплойта. | Kitploit
Инструменты/GitHubGitHub/ishankaru/cve-2026-23111-nftables-lab
Повышение привилегийАнализ уязвимостейАудит конфигурацииОбучение и ОбразованиеПодобранные РесурсыПобег из КонтейнераЛаборатории и Практика
GitHubishankaru/cve-2026-23111-nftables-lab

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CVE-2026-23111-nftables-lab

Проверка подверженности и безопасная лаборатория одноразовых ВМ для CVE-2026-23111 (повышение привилегий на локальном уровне из-за use-after-free в nf_tables Linux). Защита: обнаружение, смягчение, лаборатория с несколькими дистрибутивами. Без эксплойта.

Репозиторий
2223 месяцев назадЕщё не проверено

CVE-2026-23111 nf_tables LPE: проверка подверженности и безопасная лаборатория

Оборонительные средства и воспроизводимая виртуальная машина для CVE-2026-23111 — use-after-free локальное повышение привилегий в nf_tables ядра Linux (инвертированная проверка активности элемента в nft_map_catchall_activate(), ошибка «off by !»). Непривилегированный локальный пользователь может повысить привилегии до root и выйти из контейнера через непривилегированные пользовательские пространства имён.

Этот репозиторий не содержит эксплойта. В нём представлены: проверяющий скрипт только для чтения, скрипт для создания действительно непривилегированного пользователя и определения ВМ, чтобы вы могли безопасно воспроизвести ошибку и изучить публичные исследования. Полная цепочка получения root находится в раскрытиях по ссылкам ниже, а не здесь.

Полный отчёт: https://techearl.com/cve-2026-23111-nftables-lpe

Файлы

  • check-exposure.sh — детектор только для чтения: версия ядра по сравнению с исправленной сборкой, наличие nf_tables, предусловие с непривилегированным userns, а также сигнатуры крахов в логе ядра.
  • setup-unprivileged-user.sh — создаёт пользователя labuser без прав sudo и доказывает, что он непривилегирован. Смысл теста LPE в том, чтобы начать с пользователя, который ещё не может стать root.
  • Vagrantfile — одноразовые ВМ с Debian 12 и AlmaLinux 10 (дистрибутивы, которые Multipass не может запустить).

Почему ВМ, а не контейнер

Контейнер использует ядро хоста. Запуск эксплойта ядра внутри контейнера запускает его против реального ядра хоста, поэтому «тест» может скомпрометировать реальную машину. Используйте одноразовую ВМ со своим собственным ядром.

Дистрибутивы и программы запуска

ДистрибутивЗапуск сПочему
Ubuntu 24.04 / 22.04Multipass (только Ubuntu)Exodus воспроизведён на обоих; в 24.04 ограничение AppArmor userns включено по умолчанию, поэтому показывает работу смягчения.
Debian 12Vagrant (vagrant up debian)Exodus воспроизведён на нём; непривилегированный userns открыт по умолчанию.
AlmaLinux / Rocky 10.1Vagrant (vagrant up alma)Соответствует целевому ядру 6.12.0-124.x.el10 от FuzzingLabs, поэтому их публичный триггер воспроизводится так, как опубликован.

Multipass запускает только Ubuntu, поэтому для остальных используется Vagrant.

Фиксация уязвимого ядра (для каждого дистрибутива)

Каждому дистрибутиву нужен был свой трюк для загрузки действительно пред-исправленного ядра, которое всё ещё имеет рабочую сеть на облачной ВМ:

  • Ubuntu (облачный): используйте старый linux-aws, а не linux-generic. Обычному ядру не хватает драйвера ENA NIC от AWS, и на экземпляре Nitro теряется SSH. sudo apt install -y linux-image-6.8.0-1028-aws (ниже исправленного 6.8.0-1051), установите его по умолчанию в GRUB, перезагрузитесь. На локальной виртуализации обычное ядро подходит.
  • Debian: основной репозиторий содержит только текущее (исправленное) ядро. Добавьте зеркало снэпшотов до исправления и установите облачное ядро (сохраняет ENA): deb [check-valid-until=no trusted=yes] https://snapshot.debian.org/archive/debian/20251201T000000Z/ bookworm main, затем apt install -y linux-image-6.1.0-39-cloud-amd64=6.1.148-1 (ниже исправленного 6.1.164-1, DSA-6163-1).
  • AlmaLinux/Rocky: уязвимые ядра el10_1 находятся в хранилище версии 10.1. Укажите dnf на https://vault.almalinux.org/10.1/BaseOS/x86_64/os/ и выполните dnf install kernel-6.12.0-124.38.1.el10_1, затем grubby --set-default.

Запуск (на любой ВМ)

# 1. Создайте действительно непривилегированного пользователя и докажите, что он не может использовать sudo.
#    (useradd, а не adduser от Debian, чтобы работало и на RHEL.)
sudo bash setup-unprivileged-user.sh labuser

# 2. Заключение о подверженности.
sudo ./check-exposure.sh

# 3. От имени labuser — предусловие, затем публичный nft-триггер внутри пространства имён сети.
sudo -u labuser unshare -Ur id     # uid=0 в новом userns = предусловие открыто
                                   # (отклонено на стандартной Ubuntu 24.04 = смягчение работает)

# Публичный триггер FuzzingLabs (catchall GOTO + прерванная транзакция). Приведён здесь в качестве
# документации; этот репозиторий не содержит исполняемого файла эксплойта/триггера.
sudo -u labuser unshare -Urn bash -c '
  nft add table inet t; nft add chain inet t c
  nft add map inet t m "{ type ipv4_addr : verdict; }"
  nft add element inet t m "{ * : goto c }"
  printf "delete element inet t m { * }\ndelete element inet t m { 1.2.3.4 }\n" > /tmp/b.nft
  nft -f /tmp/b.nft; nft flush ruleset'

Эта последовательность запускает ошибочный путь прерывания; она не включает цепочку повышения привилегий, и на стандартном ядре она молчалива (см. ниже).

Что я фактически наблюдал (три варианта, достоверные)

ДистрибутивЗагружено уязвимое ядроuserns по умолчаниюЗаключение
Ubuntu 24.046.8.0-1028-awsограничен (AppArmor)СМЯГЧЕНО, не исправлено
Debian 126.1.0-39-cloud (6.1.148-1)открытУЯЗВИМО
AlmaLinux 10.16.12.0-124.38.1.el10_1открытУЯЗВИМО

Честный вывод по триггеру: на стандартном рабочем ядре он молчалив. Он запускает ошибочный путь прерывания без краха и вывода в dmesg, даже в цикле с освобождением и повторным использованием. Вывод KASAN: slab-use-after-free в отчётах появляется на ядре с KASAN/отладкой; превращение латентного use-after-free в эксплойт требует кучевую атаку (не в этом репозитории). Лаборатория доказывает, что непривилегированный пользователь достигает ошибки, показывает, что стандартное ограничение AppArmor в Ubuntu блокирует этот путь, и даёт чёткое заключение УЯЗВИМО / СМЯГЧЕНО / ИСПРАВЛЕНО. Она не предоставляет оболочку root, и это сделано намеренно.

Смягчение

Ограничьте непривилегированные пользовательские пространства имён (закрывает реалистичный путь для публичных эксплойтов), затем исправьте ядро.

# Ubuntu 23.10+ (на основе AppArmor, оставляет работоспособными легитимные userns):
echo "kernel.apparmor_restrict_unprivileged_userns=1" | sudo tee /etc/sysctl.d/99-restrict-userns.conf
sudo sysctl --system

# Остальные системы (полное отключение; установите оба на Debian/Ubuntu):
printf 'kernel.unprivileged_userns_clone=0\nuser.max_user_namespaces=0\n' | sudo tee /etc/sysctl.d/99-restrict-userns.conf
sudo sysctl --system

# Исправление (Ubuntu 24.04 generic исправлен на 6.8.0-107.107):
sudo apt update && sudo apt install --only-upgrade linux-image-generic && sudo reboot

Ссылки

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-23111
  • Exodus Intelligence "Off By !": https://blog.exodusintel.com/2026/06/08/off-by-exploiting-a-use-after-free-in-the-linux-kernel/
  • Воспроизведение от FuzzingLabs: https://fuzzinglabs.com/repro-cve-2026-23111/
  • Ubuntu: https://ubuntu.com/security/CVE-2026-23111
  • Red Hat: https://access.redhat.com/security/cve/cve-2026-23111
  • Debian: https://security-tracker.debian.org/tracker/CVE-2026-23111

Лицензия

MIT. Для оборонительного и образовательного использования.

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