Рањивост у уЦлибц и уЦлибц-нг која омогућава лажирање података у ДНС кешу

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

Проблем утиче на различите Линук фирмвере за рутере, приступне тачке и уређаје Интернета ствари, као и на уграђене Линук дистрибуције као што су ОпенВРТ и Ембеддед Гентоо. Напомиње се да се рањивост појављује на уређајима многих произвођача (на пример, уЦлибц се користи у фирмверима Линксис, Нетгеар и Акис), али пошто рањивост остаје неисправљена у уЦлибц и уЦлибц-нг, детаљне информације о одређеним уређајима и произвођачима чији производи да ли је проблем доступан. још нису откривени.

Рањивост је узрокована употребом предвидљивих идентификатора трансакција у коду за слање ДНС упита. Идентификациони број ДНС захтева је изабран једноставним повећањем бројача без коришћења додатне рандомизације бројева портова, што је омогућило да се ДНС кеш затроје превентивним слањем УДП пакета фиктивним одговорима (одговор ће бити прихваћен ако је стигао пре одговор са стварног сервера и укључује тачан ИД). За разлику од Каминског метода предложеног 2008. године, идентификатор трансакције не треба чак ни да се погађа, јер је у почетку предвидљив (вредност је иницијално постављена на 1, која се повећава са сваким захтевом, а не бира се насумично).

Рањивост у уЦлибц и уЦлибц-нг која омогућава лажирање података у ДНС кешу

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

Када је рандомизација потова онемогућена, одређивање инкременталног ИД-а захтева се означава као тривијалан задатак. Али чак и ако се користи рандомизација, нападач треба само да погоди мрежни порт из опсега 32768–60999, за шта може да користи масовно истовремено слање фиктивних одговора на различите мрежне портове.

Рањивост у уЦлибц и уЦлибц-нг која омогућава лажирање података у ДНС кешу

Проблем је потврђен у свим тренутним издањима уЦлибц и уЦлибц-нг, укључујући најновије верзије уЦлибц 0.9.33.2 и уЦлибц-нг 1.0.40. У септембру 2021. информације о рањивости су послате ЦЕРТ/ЦЦ ради координисане припреме поправки. У јануару 2022. подаци о проблему су подељени са више од 200 произвођача који сарађују са ЦЕРТ/ЦЦ. У марту је било покушаја да се засебно контактира одржавалац пројекта уЦлибц-нг, али је он одговорио да није у стању да сам поправи рањивост и препоручио је јавно откривање информација о проблему, надајући се да ће добити помоћ у развоју поправити од заједнице. Међу произвођачима, НЕТГЕАР је најавио издавање ажурирања које елиминише рањивост.

Извор: опеннет.ру

Додај коментар