
CVE-2026-31431 — Руководство по устранению уязвимости и мерам защиты
Этот репозиторий документирует уязвимость CVE-2026-31431, получившую название Copy Fail, и предлагает процедуру защитной ремедиации для потенциально уязвимых систем Linux.
⚠️ Этот репозиторий строго ориентирован на защиту, авторизованный аудит, усиление безопасности и ремедиацию.
Он не содержит процедур эксплуатации и не должен использоваться для компрометации сторонних систем.
CVE-2026-31431 / Copy Fail — это уязвимость локального повышения привилегий в ядре Linux.
Она затрагивает криптографическую подсистему ядра, а именно пользовательский интерфейс AF_ALG и модуль algif_aead. Уязвимость связана с оптимизацией, внедрённой в 2017 году в путь AEAD ядра Linux. При определённых условиях непривилегированный локальный пользователь может вызвать контролируемую запись в читаемого файла, в частности setuid-бинарника, что может привести к повышению привилегий до .
rootУязвимость оценивается как High с показателем CVSS v3.1 7.8.
| Элемент | Детали |
|---|---|
| CVE | CVE-2026-31431 |
| Публичное название | Copy Fail |
| Тип | Local Privilege Escalation, LPE |
| Компонент | Linux kernel crypto subsystem |
| Затронутый модуль | algif_aead |
| Интерфейс | AF_ALG |
| Задействованный механизм | AEAD, authencesn, splice(), page cache |
| Показатель CVSS v3.1 | 7.8 High |
| Требуемые привилегии | Непривилегированная локальная учётная запись |
| Взаимодействие с пользователем | Отсутствует |
| Воздействие | Высокое влияние на конфиденциальность, целостность и доступность |
Публичные источники указывают, что дистрибутивы Linux, использующие ядро, производное от уязвимой ветки после оптимизации 2017 года, могут быть подвержены уязвимости.
Примеры платформ, упомянутых в публичных публикациях:
| Дистрибутив | Пример публично протестированной версии ядра |
|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 |
| RHEL 10.1 | 6.12.0-124.45.1.el10_1 |
| SUSE 16 | 6.12.0-160000.9-default |
| Debian | В зависимости от версии ядра и статуса безопасности |
| AlmaLinux / Rocky Linux / Oracle Linux | В зависимости от версии ядра и бэкпортов вендора |
Точный статус зависит от версии ядра, вендора, бэкпортов безопасности и уже применённых исправлений.
Эта уязвимость особенно опасна в средах, где ненадёжные пользователи или рабочие нагрузки имеют доступ к локальной оболочке или общей среде выполнения.
Среды, требующие приоритетного внимания:
Основные риски:
root;uname -a
uname -r
lsmod | grep algif_aead || true
sudo lsof -nP | grep AF_ALG || true
dpkg -l | grep -E '^ii\\s+linux-image|^ii\\s+linux-modules'
rpm -qa | grep -E '^kernel|^kernel-core'
rpm -qa | grep -E '^kernel'
Приоритетный вариант: установка исправленного ядра от вендора Правильная ремедиация заключается в установке исправленного ядра, предоставленного дистрибутивом, с последующей перезагрузкой на это ядро.
sudo apt update
sudo apt full-upgrade -y
sudo reboot
sudo dnf update -y kernel kernel-core kernel-modules
sudo reboot
sudo zypper refresh
sudo zypper patch
sudo reboot
# После перезагрузки:
uname -r
Если исправленное ядро ещё недоступно или немедленная перезагрузка невозможна, применить временную митигацию.
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo modprobe -r algif_aead 2>/dev/null || true
sudo rmmod algif_aead 2>/dev/null || true
sudo update-initramfs -u
sudo dracut -f
sudo mkinitrd
sudo reboot
sudo modprobe algif_aead
echo $?
На некоторых ядрах модуль может быть скомпилирован непосредственно в ядро и не загружаться/выгружаться как модуль.
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
CONFIG_CRYPTO_USER_API_AEAD=m
Компонент является модулем. Митигация через /etc/modprobe.d/ применима.
CONFIG_CRYPTO_USER_API_AEAD=y
Компонент встроен в ядро. Митигация через modprobe.d недостаточна.
В этом случае предпочтительно использовать:
Некоторые источники упоминают следующую опцию ядра как возможный обходной путь:
initcall_blacklist=algif_aead_init
Обязательно протестировать вне производства перед массовым применением. Эта опция может различаться в зависимости от ядра, дистрибутива и конфигурации загрузки.
Для Docker, Podman, Kubernetes и CI/CD необходимо снизить возможность открытия сокетов AF_ALG ненадёжными рабочими нагрузками.
sudo lsof -nP | grep AF_ALG || true
lsmod | grep algif_aead || true
find / -perm -4000 -type f 2>/dev/null
sudo ausearch -f /usr/bin/su 2>/dev/null || true
sudo auditctl -w /usr/bin/su -p x -k su_exec_monitoring
sudo ausearch -k su_exec_monitoring
last -a
lastlog
getent passwd
sudo find /etc/cron* -type f -ls 2>/dev/null
sudo find /root /home -name authorized_keys -type f -ls 2>/dev/null
sudo journalctl --since "48 hours ago"
#!/usr/bin/env bash
set -euo pipefail
echo "[+] CVE-2026-31431 - временная митигация algif_aead"
if [[ $EUID -ne 0 ]]; then
echo "[-] Скрипт должен выполняться от root."
exit 1
fi
echo "[+] Активная версия ядра: $(uname -r)"
echo "[+] Постоянное отключение загрузки algif_aead"
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
echo "[+] Попытка выгрузки модуля"
modprobe -r algif_aead 2>/dev/null || true
rmmod algif_aead 2>/dev/null || true
if command -v update-initramfs >/dev/null 2>&1; then
echo "[+] Обновление initramfs Debian/Ubuntu"
update-initramfs -u
elif command -v dracut >/dev/null 2>&1; then
echo "[+] Обновление initramfs через dracut"
dracut -f
elif command -v mkinitrd >/dev/null 2>&1; then
echo "[+] Обновление initramfs через mkinitrd"
mkinitrd
else
echo "[!] Известный инструмент initramfs не обнаружен. Проверьте вручную."
fi
echo "[+] Проверка"
lsmod | grep algif_aead && echo "[!] Модуль всё ещё загружен" || echo "[OK] Модуль не загружен"
echo "[+] Рекомендуется перезагрузка."
Она не заменяет:
установку исправленного ядра;
перезагрузку на исправленное ядро;
проверку статуса вендора;
пост-инцидентный анализ при подозрении на компрометацию.
Она также может повлиять на некоторые программы, явно настроенные на использование криптографического интерфейса AF_ALG.
Theori / Xint Code — Copy Fail Technical Write-up https://xint.io/blog/copy-fail-linux-distributions Репозиторий GitHub Theori PoC https://github.com/theori-io/copy-fail-CVE-2026-31431 NVD — CVE-2026-31431 https://nvd.nist.gov/vuln/detail/CVE-2026-31431 CERT-EU — Security Advisory 2026-005 https://cert.europa.eu/publications/security-advisories/2026-005/ Ubuntu Security — CVE-2026-31431 https://ubuntu.com/security/CVE-2026-31431 Debian Security Tracker — CVE-2026-31431 https://security-tracker.debian.org/tracker/CVE-2026-31431 SUSE CVE Tracker — CVE-2026-31431 https://www.suse.com/security/cve/CVE-2026-31431.html Tenable FAQ — Copy Fail https://www.tenable.com/blog/copy-fail-cve-2026-31431-frequently-asked-questions-about-linux-kernel-privilege-escalation
Этот репозиторий предоставляется исключительно в целях:
Любое несанкционированное наступательное использование является незаконным и противоречит цели этого репозитория.