DNS кэш дэх өгөгдлийг хууран мэхлэх боломжийг олгодог uClibc болон uClibc-ng дахь эмзэг байдал.

Олон суулгагдсан болон зөөврийн төхөөрөмжүүдэд ашигладаг uClibc болон uClibc-ng стандарт C номын санд IP хаягийг солиход ашиглаж болох DNS кэшэд зохиомол өгөгдлийг оруулах боломжийг олгодог эмзэг байдлыг илрүүлсэн (CVE оноогоогүй). кэш дэх дурын домэйн болон халдагчийн сервер дээрх домайн руу дахин чиглүүлэх хүсэлт.

Асуудал нь чиглүүлэгчид, хандалтын цэгүүд, зүйлсийн интернет төхөөрөмжүүдэд зориулсан Linux-ийн төрөл бүрийн программ хангамж, мөн OpenWRT, Embedded Gentoo зэрэг суулгагдсан Линукс түгээлтүүдэд нөлөөлдөг. Энэ эмзэг байдал нь олон үйлдвэрлэгчийн төхөөрөмжүүдэд гарч ирдэг (жишээлбэл, uClibc-ийг Linksys, Netgear болон Axis програм хангамжид ашигладаг), гэхдээ uClibc болон uClibc-ng дээр эмзэг байдал арилгаагүй хэвээр байгаа тул бүтээгдэхүүн нь тодорхой төхөөрөмж, үйлдвэрлэгчдийн талаар дэлгэрэнгүй мэдээлэл өгдөг. асуудал байгаа эсэх. хараахан илчлээгүй байна.

Энэ эмзэг байдал нь DNS асуулга илгээх кодонд урьдчилан таамаглах боломжтой гүйлгээний танигчийг ашигласантай холбоотой юм. DNS хүсэлтийн таних дугаарыг портын дугаарын нэмэлт санамсаргүй байдлаар ашиглахгүйгээр зүгээр л тоолуурыг нэмэгдүүлэх замаар сонгосон бөгөөд энэ нь UDP пакетуудыг зохиомол хариултаар урьдчилан илгээх замаар DNS кэшийг хордуулах боломжтой болгосон (хэрэв өмнө нь ирсэн бол хариу хүлээн авна. бодит серверийн хариу, зөв ​​ID-г агуулсан). 2008 онд санал болгосон Каминскийн аргаас ялгаатай нь гүйлгээний танигчийг таамаглах шаардлагагүй, учир нь энэ нь анх урьдчилан таамаглах боломжтой байдаг (энэ утгыг анх санамсаргүй байдлаар сонгохоос илүү хүсэлт бүрээр нэмэгддэг 1 болгож тохируулсан).

DNS кэш дэх өгөгдлийг хууран мэхлэх боломжийг олгодог uClibc болон uClibc-ng дахь эмзэг байдал.

Тодорхойлогчийн харгис хэрцгий хүчнээс хамгаалахын тулд тодорхойлолт нь DNS хүсэлт илгээгдсэн эх сурвалжийн сүлжээний портуудын тоог санамсаргүй байдлаар хуваарилахыг санал болгож байгаа бөгөөд энэ нь танигчийн хэмжээ хангалтгүй байгааг нөхдөг. Зохиомол хариулт үүсгэхийн тулд портын санамсаргүй тохиргоог идэвхжүүлэх үед 16 битийн танигч сонгохоос гадна сүлжээний портын дугаарыг сонгох шаардлагатай. uClibc болон uClibc-ng-д ийм санамсаргүй тохиргоог тодорхой идэвхжүүлээгүй (bind-г дуудах үед санамсаргүй эх сурвалжийн UDP портыг заагаагүй) бөгөөд түүний хэрэглээ нь үйлдлийн системийн тохиргооноос хамаардаг.

Тогоонд санамсаргүй хуваарилалтыг идэвхгүй болгосон тохиолдолд нэмэгдсэн хүсэлтийн ID-г тодорхойлох нь энгийн ажил гэж тэмдэглэгдэнэ. Хэдийгээр санамсаргүй байдлаар ашигласан ч халдагчид зөвхөн сүлжээний портыг 32768-60999 мужаас таах хэрэгтэй бөгөөд үүний тулд тэд өөр өөр сүлжээний портууд руу зохиомол хариултуудыг нэгэн зэрэг илгээх боломжтой.

DNS кэш дэх өгөгдлийг хууран мэхлэх боломжийг олгодог uClibc болон uClibc-ng дахь эмзэг байдал.

Асуудал нь uClibc болон uClibc-ng-ийн бүх хувилбарууд, түүний дотор uClibc 0.9.33.2 болон uClibc-ng 1.0.40-ын хамгийн сүүлийн хувилбарууд дээр батлагдсан. 2021 оны 2022-р сард эмзэг байдлын талаарх мэдээллийг CERT/CC-д илгээж, засч залруулах бэлтгэл ажлыг хангасан. 200 оны XNUMX-р сард уг асуудлын талаарх мэдээллийг CERT/CC-тэй хамтран ажилладаг XNUMX гаруй үйлдвэрлэгчидтэй хуваалцсан. Гуравдугаар сард uClibc-ng төслийн засварлагчтай тус тусад нь холбогдох гэсэн оролдлого гарсан боловч тэр эмзэг байдлыг бие даан засах боломжгүй гэж хариулж, асуудлын талаарх мэдээллийг олон нийтэд ил тод болгохыг зөвлөж, программыг хөгжүүлэхэд тусламж авна гэж найдаж байна. олон нийтээс засах. Үйлдвэрлэгчдийн дунд NETGEAR эмзэг байдлыг арилгасан шинэчлэлт гаргаснаа зарлав.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх