
Обнаружена уязвимость в ядре Linux, остававшаяся незамеченной 7 лет
Исследователи в области кибербезопасности недавно раскрыли уязвимость CVE-2024-36904, которая оставалась невыявленной в ядре Linux на протяжении семи лет. Эта уязвимость относится к категории use-after-free и может позволить злоумышленникам выполнять произвольный код во внутренних процессах системы. Недавно в открытый доступ был опубликован PoC (Proof-of-Concept) эксплойт, демонстрирующий возможность эксплуатации данной уязвимости.
Данный баг обнаружен в подсистеме TCP ядра Linux, а именно в функции inet_twsk_hashdance(), и вызван состоянием гонки (race condition).
Механизм уязвимости
Уязвимость возникает в следующей ситуации:
- Когда TCP-сокет в состоянии time-wait добавляется в хеш-таблицу, его счетчик ссылок (reference counter) инициализируется с задержкой.
- Если в этот момент другой процесс попытается обратиться к этому сокету до завершения инициализации, он может использовать объект с неинициализированным счетчиком ссылок.
- Это может привести к use-after-free эксплуатации, в результате чего злоумышленник получает возможность выполнения произвольного кода в контексте ядра.
Уязвимость получила оценку 7.0 (HIGH) по CVSS 3.1, что указывает на высокий уровень опасности.
Затронутые системы
Подверженные операционные системы и продукты:
✔ Red Hat Enterprise Linux 8/9
✔ AlmaLinux 9
✔ Rocky Linux 8
✔ SUSE Linux Enterprise
✔ Amazon Linux 2/2023
✔ Системы NetApp AFF/FAS
✔ Dell PowerProtect Cyber Recovery
Потенциальные последствия
❌ Выполнение произвольного кода в контексте ядра
❌ Полный контроль над системой
❌ Кража конфиденциальных данных через кибератаки
Условия эксплуатации
Для успешной эксплуатации данной уязвимости злоумышленнику требуется локальный доступ к системе и низкий уровень привилегий. Однако использование различных техник эксплуатации может позволить злоумышленнику повысить привилегии и получить полный контроль над устройством.
PoC-эксплойт
Исследователи отмечают, что в стандартных условиях уязвимость воспроизводится в течение нескольких часов.
- При тестировании с syzkaller воспроизвести баг удалось за 48 часов при запуске 6 параллельных экземпляров.
- Включение KASAN (Kernel Address Sanitizer) и отключение флага RCU для TCP-кэша позволило вызвать срабатывание KASAN (крах ядра) за менее чем 30 минут.
- Все тесты проводились на AlmaLinux 9 (Kernel 5.14.0-362.24.2.el9_3.x86_64) в среде VMware Workstation.
Как защититься?
✅ 1. Обновите ядро Linux
Уязвимость была устранена в мае 2024 года, но многие дистрибутивы Linux могли не включить исправления в свои обновления.
Для пользователей Red Hat Enterprise Linux 9 исправление доступно в версии 5.14-427.26.1 (16 июля 2024 года).
Рекомендуется немедленно установить обновления для Amazon Linux, SUSE, AlmaLinux и других дистрибутивов.
✅ 2. Дополнительные меры безопасности
✔ Включите SELinux или AppArmor для дополнительной защиты.
✔ Используйте аудит логов и мониторинг сетевой активности.
✔ Регулярно проверяйте систему на наличие новых обновлений безопасности.
✅ 3. Предотвращение эксплуатации use-after-free
🔹 Активируйте защитные механизмы ядра (KASLR, SMEP, KPTI).
🔹 Используйте инструменты автоматического анализа уязвимостей ядра.
🔹 Включите Exploit Mitigation Tools для предотвращения атак.
Заключение
CVE-2024-36904 — это критическая уязвимость в ядре Linux, которая может позволить злоумышленникам выполнять произвольный код и полностью захватить контроль над системой.
💡 Рекомендации:
🔹 Немедленно обновите ядро Linux!
🔹 Активируйте SELinux или AppArmor для повышения уровня защиты.
🔹 Регулярно следите за обновлениями системы безопасности.
Так как уязвимость затрагивает множество Linux-дистрибутивов, крайне важно своевременно обновлять систему и применять защитные меры. Специалистам по кибербезопасности также рекомендуется детально изучить методику эксплуатации данной уязвимости и разработать эффективные контрмеры.