Откривена је грешка у Линук сакупљачу смећа која би могла довести до ескалације привилегија 

рањивост система

Пре неколико дана Јанн Хорн из тима Гоогле Пројецт Зеро, који је претходно идентификовао рањивости Спецтре и Мелтдовн, открио технику за искоришћавање рањивости пронађено у сакупљачу смећа Линук кернела (ЦВЕ-2021-4083).

Рањивост је узроковано стањем расе када се дескриптори датотека уникс соцкета очисте и потенцијално дозвољава непривилегованом локалном кориснику да изврши ваш код на нивоу кернела.

Проблем је занимљиво јер временски прозор током којег наступа стање трке оцењено као премало да створи стварне рањивости, али је аутор студије показао да чак и првобитно скептичне рањивости могу постати извор стварних напада ако креатор рањивости има потребне вештине и време.

Ианн Хорн показао како је уз помоћ филигранских манипулација могуће смањити стање Догађај трке који се јавља када се истовремено позивају функције цлосе() и фгет() до потпуно искоришћене рањивости без употребе и добијања приступа већ ослобођеној структури података унутар кернела.

Долази до стања трке током процеса затварања дескриптора датотеке док истовремено позивате функције цлосе() и фгет(). Позив цлосе() може се извршити пре него што се изврши фгет(), што ће збунити сакупљача ставки неискоришћен јер, према рефцоунт-у, структура датотеке неће имати спољне референце, али ће остати прикачена за дескриптор фајла, тј. сакупљач смећа ће претпоставити да има ексклузивни приступ структури, али у ствари за кратак временски период, преостали унос у табели дескриптора датотеке ће наставити да означава да се структура ослобађа.

Да би се повећала вероватноћа улазак у стање трке, коришћено је неколико трикова који су омогућили повећање вероватноће успеха холдинга са 30% при извођењу специфичних оптимизација система. На пример, да би се повећало време приступа структури са дескрипторима датотека за неколико стотина наносекунди, подаци су избачени из кеша процесора загађењем кеша активношћу на другом ЦПУ језгру, што је омогућило враћање структуре из меморије и не брза кеш меморија ЦПУ-а.

Друга важна карактеристика био коришћење прекида које генерише хардверски тајмер да се повећа време трке. Тајминг је изабран тако да се руковалац прекида активира током наступања услова трке и прекида извршавање кода неко време. Да би додатно одложио повратак контроле, еполл је генерисао око 50 хиљада уноса у реду, што је захтевало итерацију у руковаоцу прекида.

Техника искоришћавање рањивости је обелодањено након 90-дневног периода неоткривања. Проблем

а поправљено је почетком децембра. Исправка је укључена у језгро 5.16 и такође је премештена у ЛТС гране кернела и пакете са кернелом који су испоручени у дистрибуцијама. Треба напоменути да је рањивост идентификована током анализе сличног проблема ЦВЕ-2021-0920, који се манифестује у сакупљачу смећа приликом обраде ознаке МСГ_ПЕЕК.

Још једна рањивост која је пронађена недавно у Линук кернелу, то је био ЦВЕ-КСНУМКС-КСНУМКС да може исцрпити доступну меморију и даљински узроковати ускраћивање услуге слањем посебно направљених ицмп6 пакета. Проблем је повезан са цурењем меморије које се јавља приликом обраде ИЦМПв6 порука са типовима 130 или 131.

Проблем је присутан од кернела 5.13 и решен је у верзијама 5.16.13 и 5.15.27. Проблем није утицао на стабилне гране Дебиан, СУСЕ, Убунту ЛТС (18.04, 20.04) и РХЕЛ, већ је поправљен на Арцх Линук-у.

Коначно ако сте заинтересовани да сазнате више о томе белешке, можете проверити детаље у следећи линк.


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

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. Odgovorni za podatke: AB Internet Networks 2008 SL
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.