
Защитный плейбук для реагирования на инциденты и пакет обнаружения для CVE-2026-31431 (Copy Fail) — локального повышения привилегий в ядре Linux, включающий запросы для Sigma, auditd, Falco, Wazuh, YARA, eBPF и SIEM-охоты.
Готовый к использованию IR-плейбук, правила обнаружения и рекомендации по триажу для SOC по CVE-2026-31431 — локальному повышению привилегий в ядре Linux через криптоинтерфейс algif_aead. Включает интерактивный HTML-плейбук, правила Sigma, конфигурации auditd, правила Falco для контейнеров, корреляционные правила Wazuh, сигнатуры YARA, eBPF-мониторы реального времени и поисковые запросы для SIEM на платформах Splunk, Sentinel KQL, Elastic EQL и QRadar AQL.
Никакого эксплойт-кода — только защитный контент для аналитиков SOC и инженеров обнаружения.
Автор: Ashok Reddy
Широко рекомендуемый блэклист modprobe не работает на RHEL, CentOS, AlmaLinux, Rocky Linux или CloudLinux. Модуль algif_aead скомпилирован непосредственно в ядро (CONFIG_CRYPTO_USER_API_AEAD=y). Команды выполняются без ошибок, но оставляют систему полностью незащищённой.
Правильное смягчение для семейства RHEL:
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot
# Проверка:
cat /proc/cmdline | grep initcall_blacklist
См. mitigate/ для скриптов под конкретные платформы.
├── README.md # Этот файл
├── LICENSE # Лицензия MIT
├── playbook/
│ ├── index.html # Интерактивный IR-плейбук (13 вкладок)
│ └── triage_playbook.md # Руководство по триажу для аналитика SOC
├── sigma/
│ ├── afalg_socket_creation.yml # Сокет AF_ALG от непривилегированного пользователя
│ ├── afalg_bind_aead_string.yml # Строка алгоритма authencesn
│ └── afalg_splice_chain.yml # Поведенческое правило цепочки
├── auditd/
│ └── cve-2026-31431.rules # Полный набор правил auditd
├── falco/
│ └── afalg_container.yml # Обнаружение AF_ALG в контейнере
├── wazuh/
│ └── cve-2026-31431.xml # Корреляционные правила Wazuh
├── yara/
│ └── copyfail_artifacts.yar # Обнаружение артефактов PoC-файлов
├── ebpf/
│ └── copyfail_monitor.bt # Монитор реального времени bpftrace
├── queries/
│ ├── splunk.spl # Поисковые запросы Splunk SPL
│ ├── defender_sentinel.kql # Запросы Sentinel/MDE KQL
│ ├── elastic.eql # Последовательности Elastic EQL
│ └── qradar.aql # Запросы QRadar AQL
├── mitigate/
│ ├── mitigate_debian.sh # Смягчение для Debian/Ubuntu
│ └── mitigate_rhel.sh # Семейство RHEL (метод grubby)
└── check/
└── is_vulnerable.sh # Безопасная проверка уязвимости
playbook/index.html — полноценный интерактивный плейбук с 13 вкладками:
Онлайн: https://ashok523.github.io/cve-2026-31431/
# 1. Проверка уязвимости
sudo bash check/is_vulnerable.sh
# 2. Применение смягчения
sudo bash mitigate/mitigate_rhel.sh # Семейство RHEL
sudo bash mitigate/mitigate_debian.sh # Debian/Ubuntu
# 3. Развёртывание правил auditd
sudo cp auditd/cve-2026-31431.rules /etc/audit/rules.d/
sudo augenrules --load
# 4. Развёртывание правил Wazuh
sudo cp wazuh/cve-2026-31431.xml /var/ossec/etc/rules/local_rules.xml
sudo systemctl restart wazuh-manager
# 5. Развёртывание правила Falco (Kubernetes)
sudo cp falco/afalg_container.yml /etc/falco/rules.d/
sudo systemctl restart falco
# 6. Запуск eBPF-монитора (реальное время)
sudo bpftrace ebpf/copyfail_monitor.bt
# 7. Сканирование на PoC-файлы
yara yara/copyfail_artifacts.yar /tmp/ /dev/shm/ /var/tmp/
Этот репозиторий содержит только защитный контент для обнаружения. Никакого эксплойт-кода, proof-of-concept скриптов, смещений системных вызовов или шеллкода здесь нет и добавляться не будет.
| Поле | Детали |
|---|
| CVE | CVE-2026-31431 |
| Псевдоним | Copy Fail |
| Компонент | Ядро Linux algif_aead (криптоинтерфейс AF_ALG) |
| Тип | Локальное повышение привилегий (LPE) |
| CVSS | 7.8 (ВЫСОКИЙ) |
| Примитив | Детерминированная запись 4 байт в page cache любого читаемого файла |
| Размер эксплойта | 732 байта Python (только стандартная библиотека, Python 3.10+) |
| Надёжность | 100% — нет гонок, нет повторов |
| Записи на диск | Ноль — только page cache, невидимо для FIM-инструментов |
| Охват | Все основные дистрибутивы Linux с 2017 года (ядро 4.13–6.18) |
| Риск для контейнеров | Примитив побега из контейнера при непропатченном ядре хоста (T1611) |
| Статус PoC | Публичный с 29 апреля 2026 |
| Патч | Коммит a664bf3d603d — откат операций AEAD на месте |
| Обнаружил | Taeyang Lee (Theori) · Цепочка эксплойта от Xint Code (с помощью ИИ) |
| Вкладка | Содержимое |
|---|
| Обзор | Граф атаки, цепочка эксплойта, статистика |
| Фазы 1–6 | Полный жизненный цикл IR с чек-листами |
| Канал разведки | Методология обнаружения для SOC, VAPT против SOC, инструменты сообщества, статус патчей |
| IOC | Системные вызовы, процессы, файловая система, поведенческие индикаторы |
| MITRE ATT&CK | Сопоставление техник с сигналами обнаружения |
| Сценарии обнаружения | 8 сценариев на основе TTP (UC-CF-001 — UC-CF-008) |
| SIEM-охота | 18 запросов на всех платформах |
| Обнаружение ИИ | Возможности и ограничения UEBA/ML |
| Этап | Обнаружение | Инструмент |
|---|
| Сокет AF_ALG от непривилегированного пользователя | Sigma · auditd · Falco · eBPF | Основной сигнал |
| Цепочка splice() (тот же PID, 10 с) | auditd · eBPF | Почти нулевой FP |
| Строка AEAD authencesn | Sigma · auditd | Критично при наблюдении |
| uid→euid=0 без аутентификации | auditd · Splunk · KQL | LPE подтверждено |
| su без имени пользователя | auth.log (сигнал Wiz) | Пост-эксплуатация |
| PoC в файловой системе | YARA | Обнаружение на этапе подготовки |
| Побег из контейнера | Falco с контекстом K8s | T1611 |
| Пост-root персистентность | auditd FIM · Wazuh | SSH-ключи, SUID, cron |
| Подход | Объём | Достоверность |
|---|
| ❌ Алерт на все splice() | ~10 000/час | Очень низкая |
| ⚠️ Алерт только на socket(AF_ALG) | ~5–50/день | Средняя |
| ✅ AF_ALG + splice, тот же PID/10 с | ~0–2/день | Очень высокая |
| ✅ AF_ALG + splice + su / 60 с | ~0/день | Критическая |
| Дистрибутив | Статус | Команда |
|---|
| Ubuntu | ✅ Пропатчен | apt update && apt install linux-image-generic |
| AlmaLinux | ✅ Пропатчен | dnf clean metadata && dnf upgrade |
| CloudLinux | ✅ Пропатчен + livepatch | kcarectl --update |
| Debian | ✅ Отслеживается | apt update && apt upgrade |
| Mainline | ✅ Исправлено в 7.0-rc7 | Коммит a664bf3d603d |
| RHEL | ⏳ Ожидается | Errata ещё не выпущено |
| Amazon Linux | 🔄 Отслеживается | yum update kernel |