Перейти к содержимому
Digital Businessby · Беларусь
IT и стартапы

Dirty Frag: вторая критическая уязвимость Linux за две недели ставит под угрозу все major-дистрибутивы

Новая цепочка эксплойтов CVE-2026-43284 и CVE-2026-43500 позволяет получить root-доступ на Ubuntu, Debian, Fedora и других системах без привилегий.

Казакевич Алексей
5 мин
Dirty Frag: вторая критическая уязвимость Linux за две недели ставит под угрозу все major-дистрибутивы
Содержание
  1. Как работает Dirty Frag: splice, skb и перезапись памяти
  2. Почему два эксплойта опаснее, чем каждый по отдельности
  3. Что делать прямо сейчас

Ядро Linux получило вторую критическую уязвимость за две недели подряд. Исследователи из Automox, Microsoft и принадлежащей Google компании Wiz раскрыли детали атаки под названием Dirty Frag — она объединяет два отдельных эксплойта, CVE-2026-43284 и CVE-2026-43500, и при совместном применении позволяет непривилегированному пользователю получить права root на всех крупных дистрибутивах Linux.

Оба CVE эксплуатируют один и тот же класс ошибок в механизме page cache — кэша страниц памяти ядра. Атакующий без каких-либо привилегий может модифицировать содержимое файлов прямо в оперативной памяти, даже имея лишь права на чтение.

Как работает Dirty Frag: splice, skb и перезапись памяти

Dirty Frag относится к тому же семейству уязвимостей, что и Dirty Pipe (2022) и CopyFail (прошлая неделя). Все они эксплуатируют некорректную работу с page cache, но бьют в разные точки ядра.

Конкретно Dirty Frag атакует поле `frag` структуры `sk_buff` — внутреннего объекта ядра для работы с сетевыми пакетами. Механика такова: через системный вызов `splice()` атакующий подсовывает ссылку на страницу памяти, доступную только для чтения (например, `/etc/passwd` или `/usr/bin/su`), в слот `frag` отправляемого сетевого буфера. Принимающая сторона ядра затем выполняет криптографические операции прямо поверх этой страницы — и модифицирует page cache в RAM. После этого все последующие обращения к файлу возвращают уже изменённую версию.

CVE-2026-43284 живёт в функции `esp_input()` на пути приёма IPsec ESP-пакетов. Когда объект `skb` нелинеен и не имеет списка фрагментов, код пропускает защитный вызов `skb_cow_data()` и расшифровывает AEAD прямо поверх подсаженного фрагмента. Атакующий получает контроль над смещением в файле и может записывать произвольные 4-байтовые значения.

CVE-2026-43500 находится в `rxkad_verify_packet_1()` — функции проверки RxRPC-пакетов. Процесс расшифровки использует одноблочную схему, при которой splice-закреплённые страницы оказываются одновременно источником и назначением операции. Ключ шифрования при этом свободно извлекается через `add_key(rxrpc)`, что позволяет атакующему переписать нужное содержимое в памяти.

Почему два эксплойта опаснее, чем каждый по отдельности

По отдельности оба CVE ненадёжны. Ubuntu с включённым AppArmor блокирует создание пространств имён для непривилегированных пользователей — это нейтрализует ESP-вектор (CVE-2026-43284). Большинство других дистрибутивов по умолчанию не загружают модуль `rxrpc.ko` — это закрывает RxRPC-вектор (CVE-2026-43500).

Однако в связке два эксплойта перекрывают слабые места друг друга. Исследователь, проводивший тесты, подтвердил: цепочка даёт root на каждом проверенном major-дистрибутиве. Получив привилегии, атакующий может использовать SSH-доступ, веб-шелл, побег из контейнера или компрометацию низкопривилегированных учётных записей.

Аналитики Microsoft особо отметили архитектурное отличие Dirty Frag от типичных Linux-эксплойтов:

««Dirty Frag примечателен тем, что вместо узких временны́х окон или нестабильных условий повреждения памяти, характерных для большинства локальных privilege escalation в Linux, он спроектирован для стабильной работы в разных уязвимых средах».»

Иными словами, атака воспроизводима и не требует удачи — что резко повышает её практическую опасность.

Исследователи из Wiz добавляют: в жёстко изолированных контейнерных средах типа Kubernetes с настройками безопасности по умолчанию вероятность успешной эксплуатации ниже. Тем не менее они подчёркивают: «Риск остаётся значительным для виртуальных машин и менее ограниченных окружений».

Что делать прямо сейчас

Патчи уже выпущены. Единственная правильная реакция — установить обновления немедленно. Да, это потребует перезагрузки сервера, но угроза такого масштаба делает простой оправданным.

Для белорусских IT-команд, обслуживающих инфраструктуру на Linux — будь то собственные серверы, VPS у локальных хостеров или облачные инстансы, — приоритет очевиден: сначала патч, потом всё остальное. Компании из ПВТ и Hi-Tech Park, работающие с IPsec-туннелями или нестандартными сетевыми конфигурациями, находятся в зоне повышенного риска именно из-за задействованных компонентов esp/xfrm.

Тем, кто не может обновиться немедленно, следует применить временные меры: отключить загрузку `rxrpc.ko` вручную и убедиться, что AppArmor или аналогичный LSM ограничивает создание пространств имён. Подробные инструкции по митигации опубликованы в официальных бюллетенях безопасности дистрибутивов.

Dirty Frag — уже третья громкая атака на page cache ядра Linux за четыре года после Dirty Pipe и CopyFail. Это говорит о системной проблеме в архитектуре работы с кэшем страниц, и вряд ли Dirty Frag окажется последней в этом ряду.

— По материалам Ars Technica: оригинальная статья. Перевод и адаптация — редакция Digital Business.

Курс MSFT · NASDAQ
ПоделитьсяVK

Свежие новости

Все новости