LINUX.ORG.RU

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

 , dirtydecrypt, ,


0

2

Опубликован 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 и понятным путём к повышению привилегий.

>>> Источник

★★★★★

Проверено: CrX ()
Последнее исправление: CrX (всего исправлений: 1)

И опять этот rxrpc, в котором уже находили дыру недавно (кстати, mittorn, видишь - rpc неспроста). По-моему, модуль писали какие-то идиоты либо злоумышленники и надо его дропнуть целиком - мало ли какие бекдоры в нём ещё спрятаны. Если он кому-то ещё нужен - переписать заново (только не на расте). Но в нужности его есть сомнения.

firkax ★★★★★
()

Проверить бы код Reiser4. А то Линус жаловался, что качество кода низкое, не хотел принимать в mainline.

Camel ★★★★★
()
Ответ на: комментарий от seiken

а то всё локально, да локально… Скучно.

Да, и желательно что-нибудь прямо в TCP стеке :)))

praseodim ★★★★★
()
Ответ на: комментарий от seiken

а то всё локально, да локально…

а удалённые они не публикуют и продают их кому надо, это моё скромное ИМХО

хотя удалённых уязвимостей, точнее закладок, и так 100% достаточно чтобы иметь кого угодно

не зря же вся эта истерия с регионализацией по всему миру

unclestephen ★★★★★
() автор топика
Ответ на: комментарий от usermod

Я то отключил ещё неделю назад. Но сообщение было не про это, читай внимательнее.

За очередную клоунаду с подменой «надо сделать» на «сделай себе» лови клоуна.

firkax ★★★★★
()
Ответ на: комментарий от unclestephen

Хочется верить, что времена ping of death безвозвратно ушли и никаких удалённых уязвимостей в линуксе нет.

vbr ★★★★★
()

протокол поддерживает переговоры о безопасности соединения. Именно к этой области

Это так мило и иронично, что люниксы имеют именно сквозь подсистемы безопасной безопасности и надежной криптографии. Как будто человек залез в глубоководный скафандр и потом в танк, надежно там закрылся и внезапно ДОБРЫЙ ВЕЧЕР.

thesis ★★★★★
()
Ответ на: комментарий от thesis

протокол поддерживает переговоры о безопасности соединения

какой-то жестяной перевод. Когда я читаю «переговоры», представляю живых людей, которые собсна и ведут эти переговоры

seiken ★★★★★
()
Ответ на: комментарий от seiken

да не в даркнетах дело, тут как раз кто-то писал, что поиск уязвимостей стал новым оружием

кто больше нашёл тот и победил

unclestephen ★★★★★
() автор топика
Ответ на: комментарий от thesis

Так и раньше было, когда в openssl, библиотеке обеспечения безопасности соединений, пачками дыры находили. И не только в линуксе.

firkax ★★★★★
()
Ответ на: комментарий от firkax

А для всех надо вводить политику модулей в дистрах. Чтобы по дефолту большинство не нужных массам модулей было выключено. Надо тебе - включи. И утилиту kernelctl которая позволяет включать выключать ненужные модули. Ну и листинг доступных модулей выводить.

usermod
()
Ответ на: комментарий от usermod

Нет, вот как bcachefs выкинули так и это надо выкинуть. А дистры могут отдельно собирать если им надо, а юзеры - ставить отдельным пакетом, зная что это сторонний модуль.

firkax ★★★★★
()

Надо срочно переписать на расте

Psilocybe ★★★★★
()
Ответ на: комментарий от firkax

Не останавливайся на достигнутом. Пусть юзеры весь линукс ставят сторонним пакетом, зная что это сторонний софт. Это будет реально анбрекабле дистр.

usermod
()
Ответ на: комментарий от AlexM

Вот красота! Осталось внедрить ее в дистрибутивы.

usermod
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.