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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-43494-PinTheft-PoC — Доказательство концепции для CVE-2026-43494 (PinTheft): Linux LPE via RDS zerocopy refcount bug + io_uring fixed buffers → SUID page-cache overwrite. Только авторизованные исследования. | Kitploit
Инструменты/GitHubGitHub/tanzz1337/cve-2026-43494-pintheft-poc
Повышение привилегийАнализ уязвимостейЭксплуатацияСтатьи и ИсследованияОбучение и ОбразованиеЭксплуатация Бинарных Файлов
GitHubtanzz1337/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

Доказательство концепции для CVE-2026-43494 (PinTheft): Linux LPE via RDS zerocopy refcount bug + io_uring fixed buffers → SUID page-cache overwrite. Только авторизованные исследования.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
82 месяцев назадЕщё не проверено

SLEY — PinTheft PoC (CVE-2026-43494)

SLEY PoC — uid 1000 to root on WSL2

Proof of concept — uid=1000(raken) → uid=0(root) после ./sley на WSL2 (6.6.87.2-microsoft-standard-WSL2)

CVE-2026-43494 Linux LPE io_uring RDS

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

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


Обзор

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


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

root@kitploit:~
flowchart LR
    A[mmap анонимной страницы] --> B[io_uring: регистрация фиксированного буфера]
    B --> C[Клонирование таблицы буферов во второе кольцо]
    C --> D[1024× неудачных RDS zerocopy-отправок]
    D --> E[Слив смещения FOLL_PIN / кража ссылок]
    E --> F[munmap → страница освобождена]
    F --> G[Страница SUID-бинарника повторно занята в кэше страниц]
    G --> H[Устаревший указатель io_uring записывает ELF-заглушку]
    H --> I[exec SUID → root shell]
  1. Разведка — Привязка к CPU 0, поиск читаемого SUID-бинарника (su, mount, passwd и т.д.).
  2. Настройка io_uring — Регистрация анонимной страницы как фиксированного буфера (смещение FOLL_PIN ≈ 1024).
  3. Кража закрепления — Множественные неудачные RDS zerocopy-отправки; каждый сбой может сбросить дополнительную ссылку на первую закреплённую страницу.
  4. Перехват и перезапись — Unmap освобождает страницу; повторное открытие цели SUID опережает перехват кэша страниц; устаревшие метаданные фиксированного буфера позволяют записать крошечную x86_64 ELF-заглушку в кэш.
  5. Privesc — 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 для встроенной ELF-нагрузки shell в данном PoC

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

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# или эквивалентный пакет заголовков в вашем дистрибутиве

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

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

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

root@kitploit:~
# Исправлено? (пример — настройте под свой дистрибутив)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

# RDS доступен?
grep CONFIG_RDS /boot/config-$(uname -r) 2>/dev/null
lsmod | grep -E '^rds'

# io_uring включён?
cat /proc/sys/kernel/io_uring_disabled  # ожидается 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 │ Разведка
PHASE 2 │ Настройка памяти и io_uring
PHASE 3 │ Кража ссылок на закрепление (RDS zerocopy)
PHASE 4 │ Перезапись кэша страниц и privesc

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

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

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


Меры защиты

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


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

root@kitploit:~
.
├── README.md              # Этот файл
├── proof-of-concept.jpg   # Скриншот: успешное LPE (uid 1000 → root)
├── sley.c                 # Однофайловый PoC + терминальный интерфейс
└── .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 → запись после освобождения в кэш страниц
ВоздействиеПолучение прав root на уязвимых конфигурациях
Исправление upstreame17492979319
ДействиеПримечания
Пропатчить ядроПрименить стабильное исправление, содержащее коммит e17492979319
Отключить RDSmodprobe -r rds_tcp rds (и заблокировать автозагрузку), если не требуется
Ограничить io_uringkernel.io_uring_disabled=1 или 2 через sysctl
Минимизация привилегийУдалить ненужные SUID-бинарники; использовать контейнеры с усиленными профилями
МониторингОбнаруживать всплески неудач RDS zerocopy + шаблоны регистрации буферов io_uring