
Эксплойт proof-of-concept для ядра Linux CVE-2026-31431 (Copy Fail), который злоупотребляет AF_ALG для повреждения setuid-root бинарных файлов в page cache, обеспечивая повышение привилегий. Включает резервное копирование/восстановление и проверку целостности.
Воспроизведение proof-of-concept эксплойта уязвимости ядра Linux CVE-2026-31431, также известной как Copy Fail.
Авторство: Copy Fail
/usr/bin/su)git clone https://github.com/MohamedKarrab/Copy-Fail-CVE-2026-31431.git
cd Copy-Fail-CVE-2026-31431
# по умолчанию целью является /usr/bin/su
python fail.py
# или любой setuid-root (passwd, mount, chsh, sudo, pkexec...)
python fail.py /usr/bin/passwd
В случае неудачной эксплуатации целевой бинарный файл может не быть восстановлен в исходное состояние. Исправьте это следующим образом:
Просто перезагрузите устройство. Перезагрузка очищает page cache (эксплойт не изменяет бинарный файл на диске).
Либо восстановите чистый /usr/bin/su (или выбранный бинарный файл) из доверенного пакета.
Debian / Ubuntu:
sudo apt-get install --reinstall util-linux
Fedora / RHEL:
sudo dnf reinstall util-linux
Arch:
sudo pacman -S util-linux
Этот эксплойт злоупотребляет реализацией AF_ALG AEAD для записи произвольных 4-байтовых фрагментов в page cache ядра для /usr/bin/su (setuid-root бинарного файла).
sendmsg/splice для внедрения данных в обработку AES-CBC-HMAC.text файла /usr/bin/su, не затрагивая дискНаконец, выполнение /usr/bin/su загружает отравленный page cache, запуская внедрённый код с правами root благодаря setuid.
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null