Хортой төхөөрөмж холбогдсон үед кодыг гүйцэтгэхэд хүргэдэг libinput-ийн эмзэг байдал

Wayland болон X.Org дээр суурилсан орчинд оролтын төхөөрөмжөөс үйл явдлыг боловсруулах ижил хэрэгслийг ашиглах боломжийг олгодог нэгдсэн оролтын стекээр хангадаг libinput 1.20.1 номын сан нь эмзэг байдлыг (CVE-2022-1215) арилгасан. Тусгайлан өөрчилсөн/дүрэмжүүлсэн оролтын төхөөрөмжийг системд холбох үед кодын гүйцэтгэлийг зохион байгуулах боломжийг танд олгоно. Асуудал нь X.Org болон Wayland дээр суурилсан орчинд илэрдэг бөгөөд төхөөрөмжийг дотооддоо холбох болон Bluetooth интерфейстэй төхөөрөмжүүдийг удирдах үед хоёуланг нь ашиглаж болно. Хэрэв X сервер root системээр ажиллаж байгаа бол эмзэг байдал нь кодыг өндөр эрхтэйгээр гүйцэтгэх боломжийг олгодог.

Асуудал нь төхөөрөмжийн холболтын мэдээллийг бүртгэлд гаргах үүрэгтэй кодын шугамын форматын алдаанаас үүдэлтэй. Ялангуяа, evdev_log_msg функц нь snprintf руу залгах замаар төхөөрөмжийн нэрийг угтвар болгон нэмсэн бүртгэлийн оруулгын анхны форматын мөрийг өөрчилсөн. Дараа нь өөрчлөгдсөн мөрийг log_msg_va функц руу дамжуулсан бөгөөд энэ нь эргээд printf функцийг ашигласан. Тиймээс, форматын тэмдэгт задлан шинжлэхийг ашигласан printf-ийн эхний аргумент нь баталгаажуулаагүй гадаад өгөгдлийг агуулсан байсан бөгөөд халдагч төхөөрөмжид мөр форматын тэмдэгтүүдийг агуулсан нэрийг буцааснаар стекийн эвдрэлийг эхлүүлж болно (жишээ нь, "Evil %s") .

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

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