Пре неколико дана објављена је вест да у Нетфилтеру је идентификована рањивост (Линук подсистем језгра који се користи за филтрирање и модификовање мрежних пакета), који омогућава локалном кориснику да стекне роот привилегије у системучак и док је у изолованој посуди.
Рањивост ЦВЕ-2021-22555 то је проблем који постоји од кернела 2.6.19, покренут пре 15 година и данас је узроковане грешком у управљачким програмима ИПТ_СО_СЕТ_РЕПЛАЦЕ и ИП6Т_СО_СЕТ_РЕПЛАЦЕ, што узрокује преливање међуспремника приликом слања посебно украшених параметара путем позива сетоцкопт у цомпат режиму.
Можда ће се многи у овом тренутку запитати како је могуће да је недостатак у Линук кернелу могао толико дуго остати непримећен, а одговор на то је да, иако је мана која је била присутна од Линука 2.6.19, рањивост пронађена путем кода ревизију, иако Ц код није био поновљив, па га није било могуће искористити јер у то време нису пронађени потребни ресурси за ескалацију привилегија.
На пример, подршка за непривилеговане корисничке просторе имена је у језгру 3.8. Такође неке дистрибуције имају закрпу која додаје сисцтл за онемогућавање непривилегованих корисничких простора имена.
У нормалним околностима, само роот корисник може позвати цомпат_сетсоцкопт ()али потребна дозвола да изврши напад такође их може добити непривилеговани корисник на системима са омогућеним корисничким простором имена.
ЦВЕ-2021-22555 је петнаестогодишња рањивост на стек изван стека у Линук Нетфилтеру која је довољно моћна да заобиђе сва модерна ублажавања сигурности и постигне извршавање кода језгра.
Као такво је описано да локални корисник може створити контејнер са одвојеним роот корисником и одатле искористити рањивости. На пример, „кориснички простори имена“ подразумевано су укључени у Убунту и Федору, али не и у Дебиан и РХЕЛ.
Ова рањивост се може искористити делимичним преписивањем
m_list->next
показивачmsg_msg
структуру и постизање бесплатног након употребе. Ово је довољно моћно да ваш код језгра ради заобилазећи КАСЛР, СМАП и СМЕП.
Такође, проблем настаје у функцији кт_цомпат_таргет_фром_усер () због нетачног израчунавања величине меморије приликом спремања структура језгра након конверзије из 32-битне у 64-битну репрезентацију.
Као такав помиње се да грешка омогућава писање четири "нула" бајта у било коју позицију изван бафера додељено, ограничено померањем 0к4Ц. Због овога се спомиње да испоставило се да је ова карактеристика довољна за стварање експлоатације што омогућава добијање роот права: брисањем м_лист-> следећег показивача у структури мсг_мсг створени су услови за приступ подацима након ослобађања меморије (усе-афтер-фрее), који је затим коришћен за добијање информација о адресама и променама на друге структуре манипулисањем системским позивом мсгснд ().
Што се тиче извештаја о грешци, као и свака откривена рањивост, ово укључује процес и извештај који је направљен програмерима језгра у априлу, а који је након тога исправљен за неколико дана и закрпа која је укључена у све подржане дистрибуције, тако да да се информације о грешци могу објавити касније.
Пројекти Дебиан, Арцх Линук и Федора већ су генерисали ажурирања пакета. Почевши од Убунту-а, ажурирају се РХЕЛ и СУСЕ. Јер грешка је озбиљна, у пракси се може искористити и омогућава бекство из контејнера, Гоогле је своје откриће проценио на 10,000 долара и удвостручио награду истраживачу који је идентификовао рањивост и за идентификовање методе за избегавање изоловања Кубернетес контејнера на кЦТФ кластеру.
За тестирање је припремљен радни прототип експлоатације то заобилази заштитне механизме КАСЛР, СМАП и СМЕП.
Коначно ако сте заинтересовани да сазнате више о томе, можете проверити детаље У следећем линку.