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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-31431 — Эксплойт для CVE-2026-31431 — ошибки в authencesn ядра Linux, позволяющей локальному повышению привилегий и выходу из контейнера через запись 4 байт в page cache. | Kitploit
Инструменты/GitHubGitHub/luotian2/cve-2026-31431
Повышение привилегийФреймворки для эксплойтовАнализ уязвимостейЭксплуатацияОбучение и ОбразованиеПобег из КонтейнераЭксплуатация Бинарных Файлов
GitHubluotian2/cve-2026-31431

CVE-2026-31431

Эксплойт для CVE-2026-31431 — ошибки в authencesn ядра Linux, позволяющей локальному повышению привилегий и выходу из контейнера через запись 4 байт в page cache.

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

Популярное

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

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

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

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

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

CVE-2026-31431 — Copy Fail

中文版

732 байта до root на каждом крупном дистрибутиве Linux

CVE-2026-31431 (Copy Fail) — логическая ошибка в криптографическом шаблоне authencesn ядра Linux. Она позволяет непривилегированному локальному пользователю выполнить детерминированную контролируемую запись 4 байт в page cache любого читаемого файла в системе.

Обзор

  • ID CVE: CVE-2026-31431
  • Тип: локальное повышение привилегий / побег из контейнера
  • Затронуты: ядра Linux с CONFIG_CRYPTO_AUTHENC (практически все крупные дистрибутивы с 2017 года)
  • Обнаружено: Xint Code Research Team, при первоначальном участии исследователя Theori Тэяна Ли

Как это работает

Ошибка объединяет два поведения:

  1. AF_ALG + splice: splice() передаёт страницы page cache по ссылке в scatterlist сокета AF_ALG. Для режима in-place расшифровки AEAD страницы тега (из page cache целевого файла) остаются привязанными к выходному scatterlist через sg_chain().

  2. Запись в scratch-область authencesn: crypto_authenc_esn_decrypt() использует dst[assoclen + cryptlen] (за пределами тега, в страницах page cache) как scratch-пространство для перестановки порядкового номера ESN, записывая 4 байта, контролируемых атакующим, и никогда не восстанавливая их.

Повреждённая страница никогда не помечается как грязная, поэтому файл на диске остаётся неизменным. Но именно page cache в памяти фактически считывается — что делает повреждение немедленно видимым во всей системе.

Эксплойт

Эксплойт повреждает page cache /usr/bin/su (или любого setuid-бинарника) небольшим шеллкодом, по 4 байта за раз. После всех итераций запуск su выполняет полезную нагрузку и открывает root-оболочку.

Python (exp.py)


Требуется Python 3.10+ (для `os.splice`). Используются только модули стандартной библиотеки.
root@kitploit:~
python3 exp.py

C (exp.c)


Без зависимости от Python. Компиляция и запуск:
root@kitploit:~
gcc -o exp exp.c
./exp

Влияние

ВозможностьПодробности

Ссылки

  • copy.fail — официальное уведомление
  • Блог Xint — Copy Fail: 732 байта до root
  • Запись NVD

Отказ от ответственности

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

Скачать инструмент
Переносимость
Один и тот же скрипт работает на Ubuntu, Amazon Linux, RHEL, SUSE и других — без смещений под каждый дистрибутив
КомпактностьЭксплойт на Python занимает ~732 байта
СкрытностьОбходит путь записи VFS; страница не помечается как грязная; контрольные суммы на диске не изменяются
Кросс-контейнерностьPage cache является общим для контейнеров — вектор побега из контейнера (см. часть 2)