
Copy Fail (CVE-2026-31431) — это уязвимость типа Local Privilege Escalation (LPE), затрагивающая ядро Linux через контролируемое повреждение page cache с использованием механизмов AF_ALG, splice() и authencesn.
Цели этого репозитория:
⚠️ Этот проект носит строго образовательный, защитный характер и предназначен для исследований в области безопасности.
Все демонстрации, представленные в этом репозитории, проводились в изолированных и контролируемых лабораторных средах.
Любое использование на сторонних системах без явного разрешения запрещено.
| Характеристика | Детали |
|---|---|
| Отсутствие гонок (race condition) | Детерминированная эксплуатация |
| Без изменения диска |
Сравнимо с:
User Space
↓
AF_ALG Socket
↓
splice()
↓
Page Cache Reference
↓
authencesn In-Place Write
↓
Controlled 4-Byte Overwrite
↓
execve()
↓
Privilege Escalation
2011 → authencesn ajouté au kernel
2015 → AF_ALG reçoit le support AEAD + splice()
2017 → Optimisation in-place dans algif_aead.c
2026 → Découverte et correctif officiel
AF_ALGСокетный интерфейс, предоставляющий криптографические примитивы ядра Linux пользовательскому пространству (userspace).
splice()Механизм, позволяющий передавать страницы между файловыми дескрипторами без копирования.
authencesnAEAD-шаблон IPsec ESN, использующий буфер назначения как временное рабочее пространство.
Оптимизация, внедрённая в algif_aead.c, позволила напрямую связывать страницы page cache в списке рассеяния (scatterlist) назначения через sg_chain().
Input SGL: AAD || Ciphertext || Tag (page cache)
↑
Output SGL: AAD || Ciphertext ------+
Затем authencesn записывает напрямую в страницы page cache целевого файла.
| Примитив | Контроль |
|---|---|
| Целевой файл | Любой читаемый файл |
⚠️ Только для изолированных тестовых сред.
uname -r
lsmod | grep algif_aead
python3 --version
git clone https://github.com/theori-io/copy-fail-CVE-2026-31431.git
cd copy-fail-CVE-2026-31431
python3 copy_fail_exp.py
auditctl -a always,exit -F arch=b64 -S socket -F a0=38 -k af_alg_socket
auditctl -a always,exit -F arch=b64 -S splice -k splice_monitor
ps aux | awk '$1 == "root"'
ss -tlnp
algif_aeadecho "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo rmmod algif_aead
{
"defaultAction": "SCMP_ACT_ALLOW",
"syscalls": [
{
"names": ["socket"],
"action": "SCMP_ACT_ERRNO",
"args": [
{ "index": 0, "value": 38, "op": "SCMP_CMP_EQ" }
]
}
]
}
Патч a664bf3d603d удаляет уязвимую операцию in-place в algif_aead.c.
sudo apt update && sudo apt upgrade
sudo reboot
| Дата | Событие |
|---|---|
| 2017 | Появление уязвимости |
| 2026-03-23 | Сообщение команде безопасности ядра |
| 2026-04-01 | Интеграция исправления |
| 2026-04-29 | Публичное раскрытие |
linux kernel security, CVE-2026-31431, copy fail, page cache, AF_ALG, authencesn, linux LPE, kernel exploit, linux hardening, security research, dirty pipe, kernel mitigation
Этот репозиторий предназначен исключительно:
Любое несанкционированное использование незаконно.
🛡️ Осведомлённость • Митигация • Защитные исследования
🔁 Поделитесь проектом с кибербезопасным сообществом
⭐ Поддержите исследования безопасности Linux
| Элемент | Значение |
|---|
| Тип | Локальное повышение привилегий |
| Воздействие | Локальный root |
| Компонент | Linux Kernel |
| Подсистема | AF_ALG / authencesn |
| Примитив | Контролируемая запись в page cache |
| Условие | Непривилегированный пользователь |
| Скрытность | Файл на диске не изменяется |
| Серьёзность | Критическая |
| Сложно обнаружить |
| Минималистичный эксплойт | Только стандартный Python |
| Влияние на контейнеры | Kubernetes / VPS / shared hosting |
| Широкое окно | Уязвимые ядра с 2017 года |
| Смещение | Контролируется через splice |
| Записываемое значение | Поле seqno_lo |
| Персистентность | Только память |
| Обнаружение на диске | Невозможно |
| Дистрибутив |
|---|
| Kernel |
|---|
| Статус |
|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws | ✅ Уязвим |
| Amazon Linux 2023 | 6.18.8-9.213 | ✅ Уязвим |
| RHEL 10.1 | 6.12.0 | ✅ Уязвим |
| SUSE 16 | 6.12.0 | ✅ Уязвим |
| Ресурс | Описание |
|---|
| Dirty Pipe | CVE-2022-0847 |
| Linux Kernel Docs | Официальная документация |
| Openwall Security | Список рассылки по безопасности |
| LWN.net | Анализ ядра Linux |
| AF_ALG Documentation | Crypto API |
| XFRM / IPsec | Затронутая подсистема |