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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/grabesec/xcp_ng_cve-2026-31431_tester
Анализ уязвимостейЭксплуатацияТестирование на ПроникновениеБезопасность облачных сред
GitHubgrabesec/xcp_ng_cve-2026-31431_tester

XCP_ng_CVE-2026-31431_tester

Недestructive-детектор для CVE-2026-31431 (Copy Fail) локального повышения привилегий в XCP-ng 8.3 Dom0, проверяющий уязвимость ядра через тест повреждения page-cache.

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

Популярное

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

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

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

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

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

CVE-2026-31431 «Copy Fail» — детектор для лаборатории XCP-ng

Безопасный, неразрушающий скрипт-детектор для CVE-2026-31431 («Copy Fail»), проверенный на XCP-ng 8.3 LTS до выхода обновления безопасности от 5 мая 2026 года.

⚠️ Только для авторизованного использования. Запускайте этот скрипт исключительно на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение.


Общие сведения

CVE-2026-31431, получившая название «Copy Fail», — это уязвимость локального повышения привилегий (LPE) в криптографическом интерфейсе algif_aead ядра Linux. Логическая ошибка в шаблоне authencesn, появившаяся в 2017 году, позволяет непривилегированному локальному пользователю выполнить контролируемую запись 4 байт в page cache ядра любого читаемого файла, что даёт возможность повысить привилегии до root.

  • CVSS 3.1: 7.8 (высокая)
  • Затронутые ядра: 4.14 — 6.18.21, 6.19.x до 6.19.12
  • Появилась в: ядро Linux 4.14 (2017)
  • Раскрыта: 29 апреля 2026 года Таянгом Ли (Taeyang Lee) / Theori (Xint Code)
  • Исправление в апстриме: коммит a664bf3d603d от Герберта Сю (Herbert Xu)

Почему это важно для XCP-ng

Управляющий домен Dom0 в XCP-ng работает на ядре Linux и является уровнем управления гипервизором. Любой непривилегированный пользователь с доступом к оболочке Dom0 — включая служебные учётные записи, созданные для конвейеров CI/CD, агентов мониторинга, инструментов резервного копирования или автоматизации — может использовать эту уязвимость для получения root. Имея root в Dom0, злоумышленник получает доступ ко всем гостевым ВМ на этом хосте.

Стандартная установка XCP-ng имеет минимальную поверхность атаки, так как очень немногие процессы работают от имени непривилегированных пользователей. Реальный риск накапливается со временем, когда администраторы добавляют служебные учётные записи для легитимных целей, не ограничивая доступ к оболочке.

Проверьте служебные учётные записи Dom0:

awk -F: '$7 ~ /bash|sh/' /etc/passwd

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

Это лабораторный детектор, а не инструмент повышения привилегий. Он:

  • Создаёт временный файл-маркер, принадлежащий текущему пользователю, во временном каталоге
  • Пытается вызвать примитив записи в page cache через algif_aead / authencesn для этого файла
  • Сообщает, обнаружено ли повреждение page cache (подтверждение уязвимости)
  • Удаляет все временные файлы при завершении работы

Системные бинарные файлы, /etc/passwd и другие системные файлы никогда не затрагиваются. Повреждение page cache происходит только в памяти — ничего не записывается обратно на диск.


Требования

  • Python 3.10+ (требуется для os.splice)
  • Только стандартная библиотека — установка через pip не требуется
  • Оболочка непривилегированного пользователя на Dom0 с уязвимым ядром

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

python3 xcp_ng_cve_2026_31431_tester.py

Коды выхода

КодЗначение
0Повреждений не обнаружено — система, вероятно, пропатчена или algif_aead отключён
1Ошибка запуска — algif_aead может быть недоступен или заблокирован
2Уязвима — подтверждено повреждение page cache

Примечание: Код выхода 1 на пропатченной системе — ожидаемое поведение, а не ошибка скрипта. Если authencesn отключён на уровне ядра (как в исправлении XCP-ng от 5 мая), привязка сокета завершится ошибкой, и скрипт завершится с кодом 1.


Статус исправления XCP-ng

ДатаСобытие
29 апреля 2026CVE-2026-31431 публично раскрыта
4 мая 2026VATES публикует VSA-2026-013
5 мая 2026Выпущено майское обновление безопасности XCP-ng 8.3 LTS — доступно исправление ядра

Применение исправления

Обновите хосты XCP-ng и перезагрузите их:

yum update
reboot

После перезагрузки проверьте, что запущено обновлённое ядро:

uname -r

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

Примечание: Исправление XCP-ng отключает поддержку IPSec ESN в результате удаления уязвимого компонента authencesn. Для большинства сред это не имеет практического влияния. VATES сообщила, что будущий патч может восстановить эту функциональность с надлежащим исправлением.


Проверка конфигурации ядра

Перед применением мер смягчения убедитесь, скомпилирован ли algif_aead как модуль (=m) или встроен в ядро (=y):

grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
  • =m — на основе модуля; чёрный список modprobe будет работать
  • =y — встроен в ядро; чёрный список modprobe молча не сработает и не обеспечит защиту

Для ядер семейства RHEL со значением =y вместо этого используйте параметр загрузки grubby:

grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot

Ссылки

  • VSA-2026-013 — бюллетень безопасности VATES
  • Обновление безопасности XCP-ng за май 2026 года
  • Copy Fail — технический отчёт Xint/Theori
  • copy.fail — официальная страница раскрытия
  • CVE-2026-31431 — NVD
  • Исправление в апстриме ядра — коммит a664bf3d603d
  • Оригинальный детектор от rootsecdev

Благодарности

  • Обнаружение уязвимости: Таянг Ли / Theori (Xint Code)
  • Исправление в апстриме ядра: Герберт Сю
  • Оригинальный скрипт-детектор: rootsecdev
  • Адаптация и проверка для XCP-ng: Rod (этот репозиторий)

Лицензия

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


Этот скрипт был проверен на XCP-ng 8.3 LTS с непропатченным ядром по состоянию на 5 мая 2026 года. Немедленно примените официальное обновление безопасности VATES, если вы ещё этого не сделали.

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