Stack Rot, уязвимост в Linux 6.1 до 6.4, която позволява повишаване на привилегия

Уязвимост

Ако бъдат използвани, тези пропуски могат да позволят на нападателите да получат неоторизиран достъп до чувствителна информация или като цяло да причинят проблеми

Преди няколко дни новината гръмна това открита е грешка при обработката на стека в ядрото от Linux 6.1 до версия 6.4, известна също като "Stack Rot".

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

Тъй като StackRot е уязвимост на ядрото на Linux, открита в управлението на паметта на подсистема, засяга почти всички конфигурации на ядрото и изисква минимум способности за задействане. Все пак трябва да се отбележи, че възлите на клена са освободени използване на RCU обратни извиквания, забавяне на реалното освобождаване на памет до след pRCU гратисен период. Следователно се разглежда използването на тази уязвимост предизвикателен.

Относно Stack Rot

Уязвимостта с кодово име StackRot съществува оттогава стартирането на ядро 6.1 и коригирано в актуализации 6.4.1, 6.3.11 и 6.1.37.

По отношение на уязвимостта се споменава, че структурата на кленово дърво е вариант на B-дървото който поддържа индексиране на диапазони и е проектиран да използва ефективно кеша на съвременните процесори.

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

Всеки път, когато системното извикване `mmap()` се използва за задаване на разпределение на паметта, ядрото генерира структура, наречена `vm_area_struct`, за да представи
съответната област на виртуалната памет (VMA). Тази структура съхранява различни
информация, включително знамена, свойства и други уместни подробности, свързани с картографирането.

По-късно, когато ядрото срещне грешки в страницата или други проблеми, свързани с паметта или системните извиквания, то изисква бързо търсене за VMA въз основа единствено на адреса.

Споменава се, че преди това VMAs са били управлявани от червено-черно дърво. Въпреки това, от версия 6.1 на ядрото на Linux беше извършена миграцията към кленово дърво, които са безопасни за RCU B-дървовидни структури от данни, оптимизирани за съхраняване на неприпокриващи се диапазони. Неговата сложна природа обаче добавя сложност към кодовата база и въвежда уязвимостта на StackRot.

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

За частта от експлоатацията на Stack Rot се споменава, че това е усложнено от факта, че възлите в структурата на «кленовото дърво» се освобождават по забавен начин чрез извиквания за обратно извикване с RCU (Read-copy) ключалки -актуализация).

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

Струва си да се спомене, че като всички новини за уязвимости, тези служат за „ранно“ разкриване на уязвимостта, в този случай на StackRot. Като такова, всичко изисква процес и преди да бъде обявено, съответните известия вече са изпратени, така че уязвимостта да може да бъде разрешена.

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

Ако сте заинтересовани да научите повече за това, можете да проверите подробностите в следната връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

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