
PoC-эксплойты для CVE-2026-31431, LPE в ядре Linux через запись в page cache authencesn, обеспечивающие повышение привилегий от непривилегированного пользователя до root на большинстве дистрибутивов с 2017 года.
Copy Fail — это логическая ошибка в подсистеме криптографии ядра Linux (CVE-2026-31431). Оптимизация 2017 года в algif_aead.c случайно поместила страницы кэша страниц в записываемый scatterlist. Алгоритм AEAD authencesn записывает 4 служебных байта за пределы выходной границы при расшифровке, которые — через in-place scatterlist — попадают напрямую в кэшированную ядром копию любого файла, который атакующий подключает через splice. Это даёт непривилегированному локальному пользователю контролируемую запись 4 байт в кэш страниц любого читаемого файла, что тривиально повышает привилегии до root путём повреждения setuid-бинарника.
Этот репозиторий содержит чистые, читаемые PoC-эксплойты на C и Python, проверенные на Ubuntu 24.04 LTS (ядро 6.8.0-1012-aws).
$ ./copy_fail
# id
uid=0(root) gid=1000(user) groups=1000(user)
Read the full writeup and exploit breakdown on zyenra.com
git clone https://github.com/rvizx/CVE-2026-31431.git
cd CVE-2026-31431
python3 copy_fail.py
git clone https://github.com/rvizx/CVE-2026-31431.git
cd CVE-2026-31431
gcc -o copy_fail copy_fail.c
./copy_fail
Только для авторизованного тестирования безопасности и исследований. Не запускайте на системах, которыми вы не владеете или на тестирование которых у вас нет письменного разрешения. Эксплойт изменяет кэш страниц setuid-бинарника — полученная root-оболочка реальна.
Ravindu Wickramasinghe (@rvz) — Zyenra Security