Linux снова в деле: уязвимость ядра DirtyClone может привести к локальному доступу с правами root
Как раз в тот момент, когда администраторы Linux начали забывать о DirtyFrag, в центре внимания оказался другой, тесно связанный с ним недостаток ядра, что говорит о том, что история еще не окончена. Исследователи безопасности из JFrog обнаружили DirtyClone, новую уязвимость в ядре Linux, связанную с повышением локальных привилегий, которая получила идентификатор CVE-2026-43503.
Несмотря на то, что DirtyClone относится к тому же классу уязвимостей, что и DirtyFrag, он использует другой путь в сетевом коде ядра, что указывает на то, что предыдущие исправления не полностью устранили этот вектор атаки.
Уязвимость имеет показатель CVSS 8,8, что относит ее к категории высокой степени опасности. Хорошая новость (если это можно так назвать) заключается в том, что ее нельзя использовать удаленно: злоумышленник должен иметь локальный доступ или возможность выполнять код от имени непривилегированного пользователя.
Однако после получения локального доступа последствия могут быть весьма серьезными. DirtyClone позволяет повысить привилегии до уровня root и в некоторых случаях может привести к выходу за пределы контейнера.
Проблема связана с тем, как ядро Linux управляет фрагментами буфера сокета. Некоторые вспомогательные функции не сохраняют маркер, указывающий на то, что фрагмент пакета использует разделяемую память или память с файловой поддержкой. Без этого маркера последующий код ядра может ошибочно считать память безопасной для прямой модификации.
При определенных условиях злоумышленник может воспользоваться этим для изменения данных в страничном кэше ядра. Это позволяет вносить изменения в версию файла, принадлежащего пользователю root и доступного только для чтения, в оперативной памяти, не затрагивая файл на диске.
Для атаки требуется доступ к функциям ядра, связанным с сетевыми технологиями, в частности к функциям, связанным с обработкой XFRM/IPsec и фрагментацией буфера сокета. JFrog отмечает, что системы с включенными непривилегированными пользовательскими пространствами имён особенно уязвимы, поскольку такие возможности, как CAP_NET_ADMIN могут стать доступными внутри пространства имён.
Важно отметить, что не все системы Linux одинаково уязвимы. На риск влияют такие факторы, как версия ядра, патчи для дистрибутива, включенные функции и меры по усилению безопасности. Тем не менее уязвимость серьезная, и ее не стоит рассматривать как чисто теоретическую.
И чтобы прояснить одну деталь, которая может сбить читателей с толку, — это название. В Ubuntu проблема называется Fragnesia (это отдельная история), а в JFrog — DirtyClone. В любом случае оба термина относятся к CVE-2026-43503, хотя и с разных точек зрения.
Ubuntu выпустила исправления для стандартного ядра Linux в нескольких поддерживаемых версиях. Для стандартного ядра Ubuntu исправлены следующие версии:
- Ubuntu 26.04 LTS: исправлено в версии 7.0.0-22.22
- Ubuntu 25.10: исправлено в версии 6.17.0-35.35
- Ubuntu 24.04 LTS: исправлено в версии 6.8.0-124.124
- Ubuntu 22.04 LTS: исправлено в версии 5.15.0-181.191
Облачные и специализированные варианты ядра имеют отдельные обновления статуса. Пользователям, использующим AWS, Azure, GCP, Raspberry Pi, ядра реального времени, OEM-версии или другие нестандартные ядра, следует проверять статус своего конкретного пакета, а не полагаться на информацию об общем ядре.
Debian и Red Hat также отслеживают эту проблему. В системе отслеживания безопасности Debian перечислены исправленные версии для нескольких веток, включая обновления для Bullseye, Bookworm и Trixie.
Тем временем Red Hat отслеживает Dirty Frag и связанные с ним варианты как проблемы с повышением привилегий в сетевой подсистеме. В рекомендациях компании говорится о более широком семействе уязвимостей Dirty Frag и отмечается, что локальный пользователь может воспользоваться ими для получения прав суперпользователя.
Итак, что же делать пользователям? Рекомендуемое решение — установить последние обновления ядра из вашего дистрибутива и перезагрузить систему.
Перезагрузка необходима. Одной установки обновления ядра недостаточно, если система продолжает использовать старое уязвимое ядро. Для активации исправленного ядра требуется перезагрузка.
Если немедленное исправление невозможно, в качестве временной меры можно отключить непривилегированные пользовательские пространства имён или заблокировать уязвимые модули ядра, такие как esp4, esp6, и rxrpc. Однако эти обходные пути могут нарушить работу легитимных функций, особенно IPsec VPN или систем, использующих AFS/RxRPC, поэтому применять их следует с осторожностью.
Редактор: AndreyEx