အန္တရာယ်ရှိသော စက်ပစ္စည်းကို ချိတ်ဆက်သောအခါတွင် ကုဒ်လုပ်ဆောင်မှုကို ဦးတည်စေသည့် libinput တွင် အားနည်းချက်

Wayland နှင့် X.Org တို့ကိုအခြေခံသည့် ပတ်ဝန်းကျင်ရှိ input devices များမှ ဖြစ်ရပ်များကို စီမံဆောင်ရွက်ပေးသည့် တူညီသောနည်းလမ်းများကို အသုံးပြုနိုင်သည့် ပေါင်းစပ်ထည့်သွင်းမှုအစုတစ်ခုကို ပံ့ပိုးပေးသည့် libinput 1.20.1 စာကြည့်တိုက်သည် အားနည်းချက်တစ်ခု (CVE-2022-1215) ကို ဖယ်ရှားလိုက်ပါသည်။ အထူးပြုပြင်ထားသော/အတုယူထည့်သွင်းသည့်ထည့်သွင်းကိရိယာကို စနစ်သို့ချိတ်ဆက်သောအခါတွင် သင့်ကုဒ်၏လုပ်ဆောင်မှုကို စုစည်းနိုင်စေမည်ဖြစ်သည်။ ပြဿနာသည် X.Org နှင့် Wayland တို့ကို အခြေခံသည့် ပတ်ဝန်းကျင်တွင် ထင်ရှားနေပြီး စက်တွင်းရှိ စက်များကို ချိတ်ဆက်သည့်အခါနှင့် Bluetooth ကြားခံကိရိယာဖြင့် စက်ပစ္စည်းများကို ကိုင်တွယ်သည့်အခါ နှစ်မျိုးလုံး အသုံးချနိုင်သည်။ X server သည် root အဖြစ်လည်ပတ်နေပါက၊ အားနည်းချက်သည် ကုဒ်ကို မြင့်မားသောအခွင့်ထူးများဖြင့် လုပ်ဆောင်နိုင်စေပါသည်။

ပြဿနာသည် စက်ပစ္စည်းချိတ်ဆက်မှု အချက်အလက်ကို မှတ်တမ်းသို့ ထုတ်ပေးရန် တာဝန်ရှိသော ကုဒ်တွင် လိုင်းဖော်မတ်ချခြင်း အမှားအယွင်းကြောင့် ဖြစ်ပေါ်လာခြင်းဖြစ်သည်။ အထူးသဖြင့်၊ evdev_log_msg လုပ်ဆောင်ချက်သည် snprintf သို့ခေါ်ဆိုမှုကို အသုံးပြု၍ စက်ပစ္စည်းအမည်ကို ရှေ့ဆက်အဖြစ် ထည့်သွင်းထားသည့် မှတ်တမ်းထည့်သွင်းမှု၏ မူရင်းဖော်မတ်လိုင်းကို ပြောင်းလဲခဲ့သည်။ ထို့နောက်၊ ပြုပြင်ထားသောစာကြောင်းကို log_msg_va လုပ်ဆောင်ချက်သို့ ပေးပို့ခဲ့ပြီး၊ ထို့နောက် printf လုပ်ဆောင်ချက်ကို အသုံးပြုခဲ့သည်။ ထို့ကြောင့် printf အတွက် ပထမအငြင်းအခုံဖြစ်သည့် စာလုံးပုံစံခွဲခြမ်းစိတ်ဖြာမှုကို အသုံးချပြီး တရားဝင်မထားသော ပြင်ပဒေတာများပါရှိသည်၊ တိုက်ခိုက်သူသည် string ဖော်မတ်အက္ခရာများပါရှိသော အမည်တစ်ခုကို စက်ပစ္စည်းတွင် အမည်ပြန်ပေးခြင်းဖြင့် stack အကျင့်ပျက်ခြစားမှုကို စတင်နိုင်သည် (ဥပမာ၊ "Evil %s") .

source: opennet.ru

မှတ်ချက် Add