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

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

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

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

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

Категории

Все категории
Loading categories
check-cve-2026-23111 — Скрипт для проверки системы на уязвимость к CVE-2026-23111 | Kitploit
Инструменты/GitHubGitHub/criann/check-cve-2026-23111
Повышение привилегийСканеры уязвимостейАнализ уязвимостейАудит конфигурацииРазведка угрозОбучение и ОбразованиеРеагирование на Инциденты
GitHubcriann/check-cve-2026-23111

check-cve-2026-23111

Скрипт для проверки системы на уязвимость к CVE-2026-23111

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

Популярное

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

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

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

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

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

CVE-2026-23111 Защитный проверочный скрипт

Обзор

CVE-2026-23111 — это уязвимость ядра Linux в nf_tables, которая может быть использована для локального повышения привилегий непривилегированным пользователем в системах, где доступны пользовательские пространства имён и nftables.[1][2] Публичные рекомендации от производителей и правительственных организаций описывают её как локальную проблему, затрагивающую дистрибутивы Linux, и подчёркивают, что основным исправлением является установка патча.[3][4]

Этот репозиторий содержит защитный проверочный скрипт, предназначенный для оценки того, создаёт ли хост технические условия, связанные с данной CVE, не предоставляя эксплойт для повышения привилегий. Он проверяет соответствующие условия ядра и среды выполнения, опционально загружает модуль nf_tables для полного функционального тестирования, пытается выполнить контролируемый непривилегированный путь проверки с помощью unshare и nft, собирает локальные диагностические трассы и классифицирует хост по операционным вердиктам, таким как «вероятно безопасен», «заблокирован локальной политикой» или «доступен уязвимый путь».[1][5]

Что такое CVE

Согласно NVD, CVE-2026-23111 — это уязвимость ядра Linux в nf_tables, исправленная как логическая ошибка в netfilter, которая может быть использована для локального повышения привилегий от непривилегированного пользователя через пользовательские пространства имён и nftables в уязвимых конфигурациях.[1] Уведомление безопасности Ubuntu описывает тот же путь эксплуатации высокого уровня и отслеживает состояния уязвимых и исправленных пакетов по выпускам.[2]

Red Hat сообщает, что локальный пользователь с низким уровнем привилегий может использовать проблему для отказа в обслуживании или потенциально для повышения привилегий, и документирует путь смягчения, основанный на предотвращении загрузки модуля nf_tables, если это приемлемо для эксплуатации.[3] Национальные рекомендации от Канадского центра кибербезопасности также указывают затронутым организациям на обновления от производителей и упоминают регенерацию initramfs при использовании блокирующих модуль механизмов смягчения.[4]

Что делает скрипт

Скрипт предназначен для защитной оценки подверженности, а не для эксплуатации. Он предназначен для:

  • Определения работающего ядра, семейства дистрибутива и соответствующих настроек усиления безопасности среды выполнения.
  • Проверки наличия CONFIG_USER_NS и CONFIG_NF_TABLES.[1]
  • Анализа kernel.unprivileged_userns_clone и user.max_user_namespaces для оценки доступности непривилегированных пользовательских пространств имён.
  • Обнаружения наличия жёсткого запрета modprobe (install nf_tables /bin/false) или слабого чёрного списка для модуля nf_tables.
  • Проверки журнала изменений RPM ядра от вендора на наличие записи о бэкпорте CVE-2026-23111 (только для RHEL-семейства).
  • Снятия отпечатка /proc/kallsyms для уязвимого символа (nft_map_catchall_activate) по сравнению с исправленным символом (nft_catchall_set_activate) до любого взаимодействия с модулем.
  • Опциональной загрузки nf_tables через modprobe при указании --allow-load-module (см. ниже) и автоматической выгрузки при выходе.
  • Выполнения ограниченного шага проверки unshare -U -n --map-root-user + nft при загруженном модуле, с записью stdout, stderr и недавних сообщений ядра.
  • Проверки, что unshare --user действительно создаёт пространство имён и что CAP_NET_ADMIN работает внутри него, чтобы подтвердить, действительно ли ограничения AppArmor или SELinux эффективны.
  • Выделения того, блокируют ли локальные средства контроля безопасности, такие как AppArmor или SELinux, проверяемый путь.[6]
  • Вывода вердикто-ориентированных результатов с опциональной цветовой подсветкой для облегчения сортировки.

Скрипт сохраняет журналы в подкаталог каталога скрипта и удаляет их по умолчанию, если не используется --keep-logs.

Политика загрузки модуля

По умолчанию скрипт никогда не загружает nf_tables. Если модуль ещё не загружен на момент запуска скрипта, все функциональные тесты nft пропускаются, и вердикт выводится только на основе версии ядра, отпечатка kallsyms, конфигурации modprobe, журнала изменений RPM и свидетельств политики LSM.

Этот консервативный стандарт позволяет избежать непреднамеренного расширения поверхности атаки на производственных хостах. Для включения полного функционального тестирования на контролируемой или инструментированной системе используйте --allow-load-module от root (см. ниже).

Использование

# По умолчанию — без загрузки модуля, вердикт только на основе свидетельств политики
./check_cve_2026_23111.sh
./check_cve_2026_23111.sh --color
./check_cve_2026_23111.sh --keep-logs
./check_cve_2026_23111.sh --color --keep-logs

# Полное функциональное тестирование — загружает (и выгружает) nf_tables, требует root
sudo ./check_cve_2026_23111.sh --allow-load-module
sudo ./check_cve_2026_23111.sh --allow-load-module --color --keep-logs

Параметры

ПараметрОписание
--allow-load-moduleРазрешить скрипту загружать nf_tables через modprobe, если модуль ещё не загружен. Включает полный тест пути catchall в nft и тест эффективности CAP_NET_ADMIN. Модуль автоматически выгружается при выходе. Требует root. Отклоняется, если уже установлен жёсткий запрет modprobe. Используйте только на непроизводственных или инструментированных системах.
--colorВключить цветной вывод в stdout, если терминал поддерживает.
--keep-logsСохранять журналы и трассы в каталоге скрипта вместо удаления при выходе.
--helpПоказать информацию об использовании и выйти.

Когда использовать --allow-load-module

Используйте --allow-load-module, когда вам нужен вердикт с наибольшей степенью уверенности на изолированной, непроизводственной или специально созданной тестовой ВМ. Типичные сценарии:

  • Ядро в уязвимом диапазоне проверяется перед развёртыванием патча от вендора.
  • Тестовая система имеет включённый KASAN или другие инструменты, и вы хотите наблюдать трассы ядра.
  • Модуль не используется на целевом хосте, и требуется полная сквозная проверка пути для аудита.

Не используйте --allow-load-module на производственных хостах, где nf_tables намеренно заблокирован или где его загрузка нарушит политику усиления безопасности.

Предохранительные проверки для --allow-load-module

Перед попыткой загрузить модуль скрипт выполняет следующие проверки и завершает работу с ошибкой, если любая из них не выполняется:

  1. Жёсткий запрет modprobe (install nf_tables /bin/false) не должен присутствовать в /etc/modprobe.d/.
  2. modprobe должна быть доступна в системе.
  3. Скрипт должен выполняться от root (uid 0).

Если модуль успешно загружен скриптом, при выходе вызывается modprobe -r nf_tables через обработчик cleanup(), независимо от того, как завершился скрипт (успех, ошибка или CTRL+C).

Модель вердиктов

Скрипт использует операционные вердикты, а не результаты эксплуатации:

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