Совсем недавно исследователи безопасности из Theori вызвали переполох в сообществе Linux, преждевременно раскрыв root-уязвимость в ядре Linux под названием Copy Fail. Патч для этой уязвимости на тот момент ещё не дошёл до затронутых дистрибутивов. Теперь, похоже, эта игра повторяется с другой уязвимостью. Речь идёт о Dirty Frag (открывается в новом окне), она же Copy Fail 2.
Снова речь идёт об уязвимости повышения привилегий. Таким образом, атакующим уже требуется локальный доступ с правами обычного пользователя, и они могут получить права root, используя эту уязвимость. Затронуты многие распространённые дистрибутивы Linux. Однако обновлений, закрывающих эту уязвимость, пока нет.
Через Page-Cache к Root
По словам первооткрывателя, Dirty Frag основана на логической ошибке и состоит из двух уязвимостей записи в Page-Cache. Атакующие с правами обычного пользователя могут с её помощью вмешиваться в Page-Cache файлов в оперативной памяти, к которым непривилегированный пользователь обычно имеет только доступ на чтение — например, /etc/passwd или /usr/bin/su.
Последующие обращения к этим файлам происходят из оперативной памяти, поэтому изменения вступают в силу, даже если исходный файл на жёстком диске не был изменён. Таким образом, атакующий может эффективно получить права root. Те, кто интересуется более подробной информацией о Dirty Frag, могут найти её в подробном отчёте на Github (открывается в новом окне). Первооткрыватель также предоставляет эксплойт, необходимый для использования уязвимости.
По имеющимся данным, одна из уязвимостей, из которых состоит Dirty Frag, была внесена в начале 2017 года, а другая — в середине 2023 года. Затронуты многие распространённые дистрибутивы Linux. Атака была успешно протестирована на отдельных версиях Ubuntu, Red Hat Enterprise Linux (RHEL), Opensuse, CentOS, Almalinux и Fedora.