
🔐 Полное исследование случая CVE-2026-31431 (CopyFail) — критическая уязвимость повышения привилегий в ядре Linux. Включает технический анализ, скрипты проверки, hardening и playbook реагирования на инциденты. В образовательных целях.
Полное исследование — как была обнаружена, как работает, как тестировать, как воспроизвести (в безопасной среде) и как исправить критическую уязвимость, затрагивающую почти все дистрибутивы Linux с 2017 года.
Этот репозиторий предназначен исключительно для образовательных целей. Информация, представленная здесь, предназначена для специалистов по безопасности, исследователей и студентов в области кибербезопасности. Никогда не используйте описанные здесь методы на системах без явного разрешения. Неправомерное использование этой информации может квалифицироваться как преступление, предусмотренное Законом № 12.737/2012 (Закон Каролины Дикманн) и Гражданским марко об интернете (Закон № 12.965/2014).
| Поле | Детализация |
|---|---|
| CVE ID | CVE-2026-31431 |
| Псевдоним | CopyFail |
| Тип | Local Privilege Escalation (LPE) — повышение привилегий |
| Оценка CVSS | 8.8 (High) / потенциально критическая в цепочке |
| Компонент | Ядро Linux — механизм копирования данных |
| Версии | Ядро Linux ≤ 7.0 (дистрибутивы с 2017 года) |
| Обнаружено | Theori (компания по безопасности) |
| Раскрыто | Март 2026 |
| Патч upstream | Доступен ~через неделю после ответственного раскрытия |
| Статус CISA | Внесено в каталог как активно эксплуатируемое — KEV Catalog |
| Срок CISA | Федеральные агентства должны исправить до 15/05/2026 |
Уязвимость CopyFail была обнаружена компанией по безопасности Theori во время анализа кода ядра Linux, а именно подсистемы, отвечающей за копирование данных между областями памяти.
Март/2026 → Исследователи Theori выявляют аномальное поведение в ядре
Март/2026 → Ответственное раскрытие (Responsible Disclosure) команде безопасности ядра
~1 неделя спустя → Патч upstream доступен на kernel.org
Май/2026 → Код эксплойта (PoC) опубликован публично
01/05/2026 → Microsoft публикует технический анализ
04/05/2026 → CISA добавляет в KEV Catalog (Known Exploited Vulnerabilities)
15/05/2026 → Срок исправления для федеральных агентств США
Ядро Linux имеет внутренние процедуры, отвечающие за копирование данных между различными областями памяти (userspace ↔ kernelspace). Ошибка получила название CopyFail, потому что затронутый компонент перестаёт копировать определённые данные, когда должен. Это повреждает чувствительные структуры данных внутри ядра, открывая окно для эксплуатации с целью повышения привилегий.
Ядро Linux управляет памятью в двух отдельных пространствах:
┌─────────────────────────────────────┐
│ USERSPACE │
│ Процесс атакующего (uid=1000) │
│ → вызывает вредоносный syscall │
└────────────────┬────────────────────┘
│ syscall
▼
┌─────────────────────────────────────┐
│ KERNELSPACE │
│ Процедура копирования данных │
│ → ОШИБКА: сбой копирования │
│ метаданных │
│ → повреждает структуру управления │
│ → атакующий манипулирует │
│ указателем │
│ → выполняет код как root │
└─────────────────────────────────────┘
uid=0 (root), получая полный контроль над системой// УЯЗВИМАЯ версия (упрощённая, для обучения)
int kernel_copy_data(struct user_request *req) {
struct kernel_buffer kbuf;
// ОШИБКА: копирует только часть данных, игнорируя критические поля
// Поля безопасности (security_context) не копируются!
memcpy(&kbuf.data, req->data, req->size);
// → kbuf.security_context остаётся неинициализированным (мусор в памяти)
process_buffer(&kbuf); // использует повреждённые данные
return 0;
}
// ИСПРАВЛЕННАЯ версия
int kernel_copy_data(struct user_request *req) {
struct kernel_buffer kbuf;
// ИСПРАВЛЕНИЕ: копирует всю struct, включая поля безопасности
if (copy_from_user(&kbuf, req, sizeof(struct kernel_buffer)))
return -EFAULT;
process_buffer(&kbuf);
return 0;
}
| Дистрибутив | Версия | Статус |
|---|---|---|
| Red Hat Enterprise Linux | 10.1 | ✅ Уязвим |
| Ubuntu LTS | 24.04 | ✅ Уязвим |
| Amazon Linux | 2023 | ✅ Уязвим |
| SUSE Linux | 16 | ✅ Уязвим |
| Debian | Недавний стабильный | ✅ Уязвим |
| Fedora | Недавний | ✅ Уязвим |
| Kubernetes (узлы) | Все на ядре ≤7.0 | ✅ Уязвим |
⚠️ Любой дистрибутив Linux с ядром ≤ 7.0, выпущенный с 2017 года, потенциально уязвим.
Пользователь без привилегий на общем сервере (например, в среде хостинга, VPS) запускает эксплойт и получает root.
Интернет → [RCE через веб-уязвимость] → ограниченная оболочка → [CopyFail] → root
Согласно анализу Microsoft: ошибка может быть объединена в цепочку с эксплойтом, доставленным через интернет (например, RCE в веб-приложении), что приводит к полной компрометации сервера.
Пользователь Linux обманом заставляется открыть вредоносную ссылку или вложение, которое запускает эксплойт локально.
Злоумышленник компрометирует аккаунт разработчика open source и внедряет эксплойт в широко распространяемый код.
Скомпрометированный облачный сервер может раскрыть все виртуальные машины, контейнеры, приложения и базы данных клиентов на той же инфраструктуре.