
C-реализация proof-of-concept для CVE-2026-31431 — уязвимости отравления кэша страниц AF_ALG в ядре Linux, которая позволяет локально повышать привилегии и потенциально выходить из контейнера через загрязнение SUID-файлов.
CVE-2026-31431 PoC, реализованный на языке C, который можно использовать в целевой среде при отсутствии Python.
Тип уязвимости: отравление страничного кэша в подсистеме AF_ALG ядра Linux, позволяющее добиться локального повышения привилегий и возможного побега из контейнера путём модификации содержимого SUID-файлов.
Затронутые версии ядра: Linux kernel 5.15 ~ 6.1.x (некоторые более низкие или более высокие версии также могут быть затронуты, в зависимости от параметров компиляции, связанных с AF_ALG).
Условия эксплуатации:
Ядро скомпилировано с CONFIG_CRYPTO_USER_API_AEAD и поддерживает алгоритмы AEAD (например, authenc(hmac(sha256),cbc(aes))), либо соответствующие модули загружены.
У атакующего есть локальная учётная запись с низкими привилегиями и возможность выполнять произвольный код (например, загружать статически скомпилированный ELF).
Целевая файловая система поддерживает системный вызов splice.
Вы можете напрямую загрузить файл copy_fail на целевую машину и выполнить его, либо скомпилировать файл copy_fail.c самостоятельно.
Рекомендуется статическая компиляция (чтобы избежать зависимости от версии glibc): gcc -static -o copy_fail copy_fail.c
./copy_fail
Данный код основан на официальном PoC на Python и был переписан.
Данный код предназначен исключительно для исследований в области безопасности, обучения и легального авторизованного тестирования. Категорически запрещено использовать его для незаконных атак. Пользователь самостоятельно несёт всю юридическую ответственность.