Stack Rot, уязвимость в Linux 6.1–6.4, позволяющая повысить привилегии.

уязвимость

При эксплуатации эти недостатки могут позволить злоумышленникам получить несанкционированный доступ к конфиденциальной информации или вообще вызвать проблемы.

Несколько дней назад появилась новость о том, что обнаружена ошибка в обработке расширения стека в ядре от Linux 6.1 до версии 6.4, также известной как «Stack Rot».

Упоминается, что перевод VMA (Область виртуальной памяти) из структуры данных "красно-черное дерево" в "кленовое дерево" в ядре Linux 6.1 вызвал появление уязвимости ( CVE-2023-3269 ), которая позволяет непривилегированному пользователю выполнять свой код с правами ядра.

Поскольку StackRot — это уязвимость ядра Linux, обнаруженная в управлении памятью подсистема, влияет почти на все конфигурации ядра и требует минимум способности запускать. Однако следует отметить, что узлы клена освобождаются используя обратные вызовы RCU, откладывая реальное освобождение памяти до тех пор, пока не пройдет pЛьготный период РКУ. Следовательно, эксплуатация этой уязвимости считается испытывающий.

О гниении стека

Уязвимость под кодовым названием StackRot существует с запуск ядра 6.1 и исправлено в обновлениях 6.4.1, 6.3.11 и 6.1.37.

Относительно уязвимости упоминается, что структура кленового дерева является вариантом B-дерева который поддерживает индексацию диапазона и предназначен для эффективного использования кеша современных процессоров.

По сравнению с красно-черным деревом использование клена позволяет добиться более высоких показателей. Уязвимость связана с ошибкой в ​​обработчике расширения стека: В древовидной структуре maple, используемой для управления областями виртуальной памяти в ядре, замена узла в дереве могла происходить без установки блокировки записи, что создавало условия для доступа к области памяти после ее освобождения (use-after-free).

Каждый раз, когда системный вызов `mmap()` используется для установки распределения памяти, ядро генерирует структуру под названием `vm_area_struct` для представления
соответствующая область виртуальной памяти (VMA). Эта структура хранит различные
информация, включая флаги, свойства и другие соответствующие детали, связанные с отображение.

Позже, когда ядро ​​сталкивается с ошибками страниц или другими проблемами, связанными с памятью или системными вызовами, оно требует быстрого поиска VMA исключительно на основе адреса.

Упоминается, что ранее VMA управлялись красно-черным деревом. Тем не менее, с версии 6.1 ядра Linux осуществлена ​​миграция на кленовое дерево, которые представляют собой безопасные для RCU структуры данных B-дерева, оптимизированные для хранения непересекающихся диапазонов. Однако его запутанный характер усложняет кодовую базу и приводит к уязвимости StackRot.

Проблема возникает при доступе к VMA, поскольку удерживается только блокировка чтения MM.
и не входит в критическую секцию RCU. Следовательно, теоретически обратный вызов может быть вызван в любое время, что приведет к освобождению старого узла.

По части эксплуатации Stack Rot упоминается, что это осложнялось тем, что узлы в структуре «кленового дерева» освобождаются с задержкой посредством callback-вызовов с RCU (Read-copy) замки.-обновление).

Тем не менее, исследователям удалось преодолеть трудности и подготовить работающий эксплойт Stack Rot который они планируют опубликовать в конце июля, чтобы дать пользователям время обновить свои системы. Операция возможна почти во всех конфигурациях ядра и требует минимальных привилегий.

Стоит отметить, что, как и все новости об уязвимостях, они служат «ранним» раскрытием уязвимости, в данном случае о StackRot. Таким образом, все требует процесса, и до объявления соответствующие уведомления уже отправлены, чтобы можно было устранить уязвимость.

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

Если вы интересно узнать об этом больше, вы можете проверить подробности в по следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.