Опубликован PoC для DirtyDecrypt — новой LPE-уязвимости в ядре Linux

good-penguin.png

Опубликован proof-of-concept для уязвимости DirtyDecrypt, также известной как DirtyCBC, позволяющей локальному непривилегированному пользователю получить права root на некоторых системах Linux. Проблема находится в коде rxgk подсистемы RxRPC и связана с записью в page cache из-за отсутствующей проверки copy-on-write в функции rxgk_decrypt_skb(). О публикации PoC 18 мая 2026 года сообщило издание BleepingComputer; сам PoC размещён в репозитории команды V12.

RxRPC — это сетевой протокол ядра Linux поверх UDP, предоставляющий надёжный транспорт для удалённых операций. В документации ядра отдельно указано, что AFS — Andrew File System — является примером приложения, использующего RxRPC, а сам протокол поддерживает переговоры о безопасности соединения. Именно к этой области относится RxGK, используемый для защищённого режима RxRPC/AFS.

По описанию V12, DirtyDecrypt является ещё одним вариантом уязвимостей класса CopyFail / Dirty Frag / Fragnesia. Все они вращаются вокруг похожей идеи: некорректная работа с памятью ядра, page cache и буферами может позволить непривилегированному локальному процессу повлиять на данные, которые должны быть недоступны для записи. В случае DirtyDecrypt речь идёт о «rxgk pagecache write» из-за отсутствующей COW-защиты в rxgk_decrypt_skb().

Команда V12 утверждает, что обнаружила и сообщила о проблеме 9 мая 2026 года, но сопровождающие ядра ответили, что это дубликат уже исправленной ошибки. После этого исследователи опубликовали PoC, мотивируя это тем, что исправление уже находится в mainline-ядре.

С CVE ситуация выглядит не вполне прямолинейно. BleepingComputer пишет, что отдельного официального CVE именно для имени DirtyDecrypt на момент публикации нет, но аналитик Will Dormann связывает опубликованные V12 детали с CVE-2026–31635, исправленной в конце апреля. В базе NVD CVE-2026–31635 описана как ошибка в rxrpc: функция rxgk_verify_response() некорректно проверяла длину RESPONSE-аутентификатора, из-за чего слишком большой аутентификатор мог попасть в rxgk_decrypt_skb() и довести код до BUG_ON(len).

То есть общедоступные публикации связывают DirtyDecrypt с CVE-2026–31635, но формальное описание CVE в NVD пока выглядит более узким и говорит прежде всего об ошибке проверки длины в rxrpc, а не прямо об alias DirtyDecrypt/DirtyCBC как об отдельной записи. Поэтому корректнее писать: DirtyDecrypt, вероятно, соответствует или тесно связан с CVE-2026–31635, а не утверждать, что это официальное имя CVE.

Для эксплуатации требуется ядро с включённой опцией CONFIG_RXGK, которая включает поддержку RxGK для AFS-клиента и сетевого транспорта. Это заметно сужает круг затронутых систем: в первую очередь речь идёт о дистрибутивах, быстро следующих за upstream-ядром, включая Fedora, Arch Linux и openSUSE Tumbleweed. При этом BleepingComputer подчёркивает, что опубликованный V12 PoC проверялся только на Fedora и mainline-ядре.

DirtyDecrypt появился на фоне целой серии близких по классу Linux LPE-уязвимостей. Ранее были раскрыты Copy Fail в algif_aead, Dirty Frag в сетевых компонентах, а затем Fragnesia в XFRM ESP-in-TCP. Microsoft описывала Dirty Frag как локальное повышение привилегий через компоненты esp4, esp6 и rxrpc, позволяющее атакующему после получения локального доступа подняться до root и закрепиться в системе.

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

Пользователям потенциально затронутых rolling-release-дистрибутивов рекомендуется установить последние обновления ядра. Для систем, где немедленное обновление невозможно, в публикациях упоминаются временные меры вроде отключения неиспользуемых rxrpc-модулей и связанных компонентов, однако такие обходные решения могут сломать AFS и часть IPsec/VPN-сценариев, поэтому применять их нужно только после проверки влияния на конкретную систему.

Для большинства настольных и серверных установок риск, вероятно, ниже, чем у Copy Fail: DirtyDecrypt требует наличия конкретной конфигурации ядра и локального выполнения кода. Тем не менее для Fedora, Arch Linux, openSUSE Tumbleweed и других систем с быстрым обновлением ядра проблема заслуживает внимания: это уже не теоретический отчёт, а уязвимость с опубликованным PoC и понятным путём к повышению привилегий.

>>> Источник

©  Linux.org.ru