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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-43494-PinTheft-PoC — Доказательство концепции для CVE-2026-43494 (PinTheft): локальное повышение привилегий в ядре Linux, использующее ошибку подсчёта ссылок zerocopy в RDS с фиксированными буферами io_uring для перезаписи кэша страниц SUID-бинарника. | Kitploit
Инструменты/GitHubGitHub/letsr00t/cve-2026-43494-pintheft-poc
Повышение привилегийАнализ уязвимостейЭксплуатацияCTFОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubletsr00t/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

Популярное

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

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

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

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

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

Доказательство концепции для CVE-2026-43494 (PinTheft): локальное повышение привилегий в ядре Linux, использующее ошибку подсчёта ссылок zerocopy в RDS с фиксированными буферами io_uring для перезаписи кэша страниц SUID-бинарника.

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

SLEY — PinTheft PoC (CVE-2026-43494)

SLEY PoC — uid 1000 → root на WSL2

Концепт-эксплойт — uid=1000(raken) → uid=0(root) после ./sley на WSL2 (6.6.87.2-microsoft-standard-WSL2)

CVE-2026-43494 Linux LPE io_uring RDS

Однофайловый концепт-эксплойт для CVE-2026-43494 (PinTheft): локальное повышение привилегий в ядре Linux, объединяющее ошибку счётчика ссылок RDS zerocopy с фиксированными буферами io_uring для перезаписи страничного кэша SUID-root бинарного файла.

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


Обзор

Оригинальное публичное исследование и PoC были опубликованы командой V12 Security (Aaron Esau). SLEY — это независимая компактная переработка со стилизованным терминальным интерфейсом для использования в лабораторных условиях и обучения.


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

root@kitploit:~
flowchart LR
    A[mmap anonymous page] --> B[io_uring: register fixed buffer]
    B --> C[Clone buffer table to 2nd ring]
    C --> D[1024× failing RDS zerocopy sends]
    D --> E[Drain FOLL_PIN bias / steal refs]
    E --> F[munmap → page freed]
    F --> G[SUID binary page reclaimed in page cache]
    G --> H[Stale io_uring ptr writes ELF stub]
    H --> I[exec SUID → root shell]
  1. Разведка — закрепиться на CPU 0, найти читаемый SUID-бинарник (su, mount, passwd, …).
  2. Настройка io_uring — зарегистрировать анонимную страницу как фиксированный буфер (приращение FOLL_PIN ≈ 1024).
  3. Кража закрепления — выполнить множество сбойных RDS zerocopy-отправок; каждая неудача может снять дополнительную ссылку с первой закреплённой страницы.
  4. Перехват и перезапись — munmap освобождает страницу; повторное открытие SUID-цели соревнуется с возвратом страницы в page cache; устаревшие метаданные фиксированного буфера позволяют записать крошечную x86_64 ELF-заглушку в кэш.
  5. Повышение привилегий — execve SUID-бинарника запускает внедрённую заглушку с правами root.

Требования

Ядро / конфигурация

  • Уязвимое (непропатченное) ядро Linux, содержащее ошибку RDS
  • CONFIG_RDS=y и CONFIG_RDS_TCP=y
  • CONFIG_IO_URING=y и kernel.io_uring_disabled = 0
  • Модули rds / rds_tcp загружены (или могут быть автоматически загружены непривилегированными пользователями)
  • Ядро ≥ 6.13 для API IORING_REGISTER_CLONE_BUFFERS, используемого публичной цепочкой эксплойта
  • x86_64 для встроенной shell-нагрузки ELF в этом PoC

Инструменты сборки

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# or equivalent headers package on your distro

Права доступа

  • Достаточно непривилегированного локального пользователя на уязвимом хосте (такова модель угрозы)
  • Не запускайте на производственных системах

Проверка подверженности уязвимости (только чтение)

root@kitploit:~
# Patched? (example — adjust for your distro)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

# RDS available?
grep CONFIG_RDS /boot/config-$(uname -r) 2>/dev/null
lsmod | grep -E '^rds'

# io_uring enabled?
cat /proc/sys/kernel/io_uring_disabled  # expect 0

Сборка

root@kitploit:~
gcc -O2 -Wall -Wextra -o sley sley.c

Статическая сборка (опционально, для минимальных лабораторных образов):

root@kitploit:~
gcc -O2 -static -o sley sley.c

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

root@kitploit:~
./sley

Весь вывод статуса идёт в stderr (ANSI 256-цветный интерфейс, прогресс-бар, поэтапное логирование). Убедитесь, что ваш терминал поддерживает UTF-8 и truecolor/256 цветов для интерфейса с псевдографикой.

Пример фаз:

root@kitploit:~
PHASE 1 │ Reconnaissance
PHASE 2 │ Memory & io_uring setup
PHASE 3 │ Pin reference theft (RDS zerocopy)
PHASE 4 │ Page cache overwrite & privesc

Ожидаемый результат (уязвимый хост)

При успешно эксплуатируемой конфигурации цепочка завершается и передаёт управление обнаруженному SUID-бинарнику с перезаписанной первой страницей, что даёт root-оболочку, если гонка и состояние ядра складываются удачно.

На пропатченных ядрах, укреплённых хостах или при отсутствии RDS/io_uring PoC завершится ошибкой на раннем этапе (нет SUID-цели, ошибки mmap/io_uring/socket и т. д.).


Меры по смягчению

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


Структура проекта

root@kitploit:~
.
├── README.md              # This file
├── proof-of-concept.jpg   # Screenshot: successful LPE (uid 1000 → root)
├── sley.c                 # Single-file PoC + terminal UI
└── .gitignore

Ссылки

  • NVD — CVE-2026-43494
  • oss-security — обсуждение PinTheft
  • Коммит с исправлением ядра

Правовая информация

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


Лицензия

MIT — см. файл лицензии репозитория, если он добавлен. Используйте ответственно.

Скачать инструмент
ЭлементОписание
CVECVE-2026-43494
Публичное названиеPinTheft
Компонентnet/rds — путь zerocopy-отправки (rds_message_zcopy_from_user)
ПримитивДвойной put_page() при сбое закрепления страницы → кража ссылок FOLL_PIN
Механизм эксплуатацииФиксированный буфер io_uring + сбойный zerocopy RDS → UAF-запись в страничном кэше
ВоздействиеЛокальный root на уязвимых конфигурациях
Исправление в апстримеe17492979319
ДействиеПримечания
Обновить ядроПримените стабильное исправление, содержащее коммит e17492979319
Отключить RDSmodprobe -r rds_tcp rds (и заблокируйте автозагрузку), если модуль не требуется
Ограничить io_uringkernel.io_uring_disabled=1 или 2 через sysctl
Минимум привилегийУдалите ненужные SUID-бинарники; используйте контейнеры с усиленными профилями
МониторингСрабатывание оповещений при всплеске сбойных RDS zerocopy-передач и паттернах регистрации буферов io_uring