Standardset uClibc ja uClibc-ng C-raamatukogudes, mida kasutatakse paljudes sisseehitatud ja portatiivsetes seadmetes, on tuvastatud haavatavus (CVE ei ole mÀÀratud), mis vĂ”imaldab valeandmeid DNS-i vahemĂ€llu sisestada, vĂ”imaldades suunata mĂ”ne domeeni IP-aadressi vahemĂ€lu rĂŒndaja serverile.
Probleem mĂ”jutab erinevaid Linuxi pĂŒsivara marsruuterite, juurdepÀÀsupunktide ja asjade interneti seadmete jaoks, samuti sisseehitatud sĂŒsteemide Linuxi jaotusi, nagu OpenWRT ja Embedded Gentoo. On mĂ€rgatud, et haavatavus avaldub paljude tootjate seadmetes (nt uClibc kasutatakse Linksysi, Netgeari ja Axis'e pĂŒsivara versioonides), kuid kuna uClibc ja uClibc-ng haavatavus jÀÀb lahendamata, ei avaldata hetkel ĂŒksikasjalikke teavet konkreetselt seadmete ja tootjate kohta, mille tooted seda probleemi sisaldavad.
Haavatavus tuleneb DNS-pĂ€ringute saatmise koodis ettearvatavate tehinguidentifikaatorite kasutamisest. DNS-pĂ€ringu identifikaator valiti lihtsalt loenduri suurendamise teel, ilma et portide numbrite lisarandomiseerimist kasutataks, mis vĂ”imaldas DNS-i vahemĂ€lu rĂŒndamist vale vastustega UDP-pakettide ennetava saatmise kaudu (vastus vĂ”etakse vastu, kui see saabus enne reaalset vastust ja sisaldab Ă”iget ID-d). serverile Erinevalt 2008. aastal Kaminski poolt ette pandud meetodist ei ole tehinguidentifikaatori arvamine vajalik, kuna see on algselt ettearvatav (alguses seotakse vÀÀrtus 1, mida iga pĂ€ringu korral suurendatakse, mitte ei valita juhuslikult).

Spetsifikatsioonis identifikaatori talitlushĂ€irete vastu kaitsmiseks soovitatakse lisaks rakendada juhuslikku algsete vĂ”rguportide numbrite jaotust, millest DNS-pĂ€ringud saadetakse, et kompenseerida identifikaatori ebapiisavat suurust. Portsallika juhuslikkuse lubamisel vale vastuse genereerimisel tuleb vĂ€lja valida mitte ainult 16-bitine identifikaator, vaid ka vĂ”rguport. uClibc ja uClibc-ng ei sisaldanud selgesĂ”naliselt sellist juhuslikkust (bind'i kutsumisel ei mÀÀratud juhuslikku lĂ€htuva UDP porta) ning selle rakendamine sĂ”ltus operatsioonisĂŒsteemi seadistustest.
Portsallika rajamise vĂ€ljajĂ€tmise korral peetakse pĂ€ringu inkrementeeritava identifikaatori mÀÀramist triviaalset ĂŒlesannet. Kuid isegi juhuslikkuse rakendamise korral peab rĂŒndaja vaid Ă€ra arvama vĂ”rguporti vahemikus 32768â60999, mille jaoks saab kasutada ulatuslikku vale vastuste simultaanse saatmise meetodit erinevatesse vĂ”rguportidesse.

Probleem on kinnitatud kÔigis uClibc ja uClibc-ng viimastes versioonides, sealhulgas uClibc 0.9.33.2 ja uClibc-ng 1.0.40. Septembris 2021 saadeti haavatavuse teave CERT/CC-le kooskÔlastatud lahenduste ettevalmistamiseks. Jaanuaris 2022 edastati probleemiga seotud andmed rohkem kui 200 tootjale, kes teevad koostööd CERT/CC-ga. MÀrtsis prooviti eraldi kontakteeruda uClibc-ng projekti arendajaga, kuid ta vastas, et ei suuda haavatavust iseseisvalt lahendada ja soovitas teavet probleemist avalikult levitada, lootes saada kogukonnalt abi lahenduse vÀljatöötamisel. Tootjatest teatas NETGEAR haavatavuse lahendusega vÀrskenduse vÀljalaskmisest.
Allikas: opennet.ru
