
Копия эксплойта LPE для CVE-2026-31431. Чистая, мультиархитектурная реализация на Python, нацеленная на уязвимость страничного кэша AF_ALG в ядре Linux.
Локальное повышение привилегий на ядрах Linux от 4.11 до (не включая) исправленных выпусков 6.18.
Ошибка находится в интерфейсе AF_ALG сокетов ядра — конкретно в том, как authencesn обрабатывает scatter-gather списки при in‑place AEAD-расшифровке. Результат: непривилегированный пользователь может перезаписывать по 4 байта за раз в page cache любого читаемого файла.
Перезапишите setuid-бинарник, например /usr/bin/su, шеллкодом, запустите его — и вы root. Никаких гонок, никаких символов ядра, никакой перекомпиляции. Один и тот же 172‑байтный AArch64-пейлоад (или 160 для x86‑64, 126 для i386, 138 для ARMv7) работает во всех дистрибутивах.
Уязвимость была обнаружена Taeyang Lee & Theori / Xint Code и опубликована 29 апреля 2026 года. Этот репозиторий — независимая, классовая реимплементация, предназначенная для авторизованного тестирования.
| Проверка уязвимости | Эксплуатация и получение root |
|---|---|
![]() | ![]() |
allowPrivilegeEscalation: true (значение по умолчанию в Kubernetes) может вырваться наружу.Всё, что работает на ядре от 4.11 до примерно 6.17.x, включая:
Исправленные ядра: mainline ≥ 6.18.22 / 6.19.12 / 7.0, плюс бэкпорты в стабильные ветки.
# Проверить, уязвима ли система
python3 exploit.py --check
# Запустить эксплойт (требуется непривилегированный пользователь)
python3 exploit.py
os.splice начиная с 3.10)authencesn(hmac(sha256),cbc(aes))/usr/bin/su по умолчанию; используйте --scan для поиска альтернатив)Если проверка жалуется на алгоритм, загрузите необходимые модули:
sudo modprobe algif_aead authencesn hmac cbc
Некоторые дистрибутивы поставляются с временной блокировкой (/etc/modprobe.d/disable-algif_aead.conf). Скрипт удаляет её автоматически при запуске от root, либо вы можете удалить её вручную.
Постоянное: Обновите ядро. На Ubuntu/Debian:
sudo apt update && sudo apt upgrade linux-image-generic
Обходной путь (не влияет на IPsec/XFRM):
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo rmmod algif_aead 2>/dev/null
Примечание: IPsec/XFRM не затрагивается этой блокировкой, поскольку использует крипто-API ядра напрямую, а не AF_ALG.
Контейнеры:
Основное смягчение — блокировка AF_ALG сокета с помощью seccomp-профиля. Дополнительно установите allowPrivilegeEscalation: false в security context вашего пода, чтобы включить no_new_privs, что не позволит ядру учитывать setuid-биты при execve().
Этот инструмент предназначен для образовательных целей и авторизованного тестирования безопасности. Не запускайте его на системах, которыми вы не владеете или на тестирование которых у вас нет письменного разрешения.