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

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

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

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

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

Категории

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

Популярное

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

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

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

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

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

CVE-2026-43494-PinTheft-PoC

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

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

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, которое объединяет ошибку подсчёта ссылок при zerocopy в RDS с фиксированными буферами io_uring, чтобы перезаписать кэш страниц SUID-root-двоичного файла.

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


Обзор

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


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

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

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

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

На исправленных ядрах, усиленных хостах или при отсутствии 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 → UAF-запись в кэше страниц
ВлияниеДоступ root на локальной системе в уязвимых конфигурациях
Исправление (upstream)e17492979319
ДействиеПримечания
Обновить ядроПрименить стабильное исправление, содержащее коммит e17492979319
Отключить RDSmodprobe -r rds_tcp rds (и заблокировать автозагрузку), если не требуется
Ограничить io_uringkernel.io_uring_disabled=1 или 2 через sysctl
Минимизация привилегийУдалить ненужные SUID-двоичные файлы; использовать контейнеры с усиленными профилями
МониторингОповещение о всплесках неудач zerocopy RDS в сочетании с паттернами регистрации буферов io_uring