• XSS.stack #1 – первый литературный журнал от юзеров форума

Уязвимость StackRot в ядре Linux, позволяющая повысить свои привилегии

INC.

REVERSE SIDE OF THE MEDAL
Эксперт
Регистрация
02.02.2008
Сообщения
3 950
Реакции
1 872
Раскрыта серьезная уязвимость конфигурации ядра в версиях Linux с 6.1 по 6.4, которая отслеживается как CVE-2023-3269 и получила наименование StackRot.

Проблема безопасности может быть использована для компрометации ядра и повышения привилегий, с «минимальными усилиями».

Обнаружение приписывается исследователю Руихану Ли, который рассказал о влиянии недостатка на подсистему управления памятью ядра, отвечающей за реализацию виртуальной памяти и подкачки по требованию.

Отчет об уязвимости был отправлен разработчикам 15 июня, патч стал доступен с 1 июля.

StackRot представляет собой проблему UAF и возникает из-за того, что ядро Linux определеным образом обрабатывает расширение стека в своей подсистеме управления памятью, связанной с управлением областями виртуальной памяти VMA.

В частности, слабое место - в maple tree, новой системе структуры данных для VMA, представленной в ядре Linux 6.1, которая заменила red-black trees и опиралась на механизм RCU.

Руихан Ли отмечает, что эксплуатация StackRot — сложная задача. Несмотря на это, CVE-2023-3269 может быть первым примером теоретически пригодной для эксплуатации уязвимости использование после освобождения RCU (UAFBR).

Кроме того, исследователь объявил о планах раскрыть полные технические подробности о StackRot и PoC к концу июля.

В связи с чем, пользователям рекомендуется проверить версию ядра, на которой работает дистрибутив Linux, и перейти на версию, на которую не влияет StackRot, либо обновленную версию, содержащую исправление.
 
Структура "maple tree" представляет собой вариант B-tree, поддерживающий индексацию по диапазонам значений и спроектированный для эффективного использования кэша современных процессоров. По сравнению с "red-black tree" применение "maple tree" позволяет добиться более высокой производительности. Уязвимость вызвана ошибкой в обработчике расширения стека - в структуре "maple tree", используемой при управлении областями виртуальной памяти в ядре, замена узла в дереве могла произойти без выставления блокировки на запись, что создавало условия для обращения к области памяти после её освобождения (use-after-free).

Эксплуатацию уязвимости усложняло то, что узлы в структуре "maple tree" освобождаются в отложенном режиме с использованием callback-вызовов с блокировками RCU (Read-copy-update). Тем не менее, исследователям удалось преодолеть возникшие трудности и подготовить рабочий эксплоит, который планируют опубликовать в конце июля, чтобы дать пользователям время обновить свои системы. Эксплуатация возможна почти во всех конфигурациях ядра и требует лишь минимальных привилегий.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх