USB Gadget ၏ Linux kernel ခွဲစနစ်ရှိ အားနည်းချက်၊ ကုဒ်လုပ်ဆောင်မှုကို ခွင့်ပြုနိုင်ခြေရှိသည်။

USB ကလိုင်းယင့်စက်ပစ္စည်းများနှင့် USB ကိရိယာများကို ပုံဖော်သည့်ဆော့ဖ်ဝဲကို ဖန်တီးရန်အတွက် ပရိုဂရမ်းမင်းအင်တာဖေ့စ်ကို ပံ့ပိုးပေးသည့် Linux kernel ၏ခွဲစနစ်တစ်ခုဖြစ်သည့် USB Gadget တွင် kernel မှ အချက်အလက်များ ပေါက်ကြားခြင်း၊ ပျက်စီးခြင်း သို့မဟုတ် လုပ်ဆောင်ခြင်းတို့ကို ဖြစ်ပေါ်စေနိုင်သည့် အားနည်းချက် (CVE-2021-39685) ရှိသည်။ အဆင့် kernels မှာ မတရားကုဒ်။ rndis၊ hid၊ uac1၊ uac1_legacy နှင့် uac2 ကဲ့သို့သော USB Gadget API ကို အခြေခံ၍ အကောင်အထည်ဖော်သည့် အမျိုးမျိုးသော စက်ပစ္စည်းအတန်းများကို ခြယ်လှယ်ခြင်းဖြင့် အခွင့်ထူးမရသော ဒေသခံအသုံးပြုသူတစ်ဦးမှ တိုက်ခိုက်မှုကို လုပ်ဆောင်ခြင်းဖြစ်သည်။

မကြာသေးမီကထုတ်ဝေထားသော Linux kernel အပ်ဒိတ် 5.15.8၊ 5.10.85၊ 5.4.165၊ 4.19.221၊ 4.14.258၊ 4.9.293 နှင့် 4.4.295 တို့တွင် ပြဿနာကို ဖြေရှင်းထားပါသည်။ ဖြန့်ဝေမှုများ (Debian၊ Ubuntu၊ RHEL၊ SUSE၊ Fedora၊ Arch) တွင် ပြဿနာ မဖြေရှင်းနိုင်သေးပါ။ အားနည်းချက်ကို သက်သေပြရန် exploit နမူနာပုံစံကို ပြင်ဆင်ထားပါသည်။

ပြဿနာသည် gadget drivers rndis၊ hid၊ uac1၊ uac1_legacy နှင့် uac2 ရှိ ဒေတာလွှဲပြောင်းမှုတောင်းဆိုမှု ကိုင်တွယ်ဖြေရှင်းပေးသူများတွင် ကြားခံပြည့်လျှံနေခြင်းကြောင့်ဖြစ်သည်။ အားနည်းချက်ကို အသုံးချခြင်းကြောင့် အခွင့်ထူးမခံရသေးသော တိုက်ခိုက်သူသည် 4096 bytes အမြဲခွဲဝေပေးထားသည့် static buffer အရွယ်အစားထက်ကျော်လွန်သော wLength အကွက်တန်ဖိုးဖြင့် အထူးထိန်းချုပ်မှုတောင်းဆိုချက်ကို ပေးပို့ခြင်းဖြင့် kernel memory သို့ ဝင်ရောက်နိုင်မည်ဖြစ်သည်။ တိုက်ခိုက်မှုအတွင်း၊ အသုံးပြုသူနေရာလွတ်ရှိ အခွင့်ထူးမခံသော လုပ်ငန်းစဉ်တစ်ခုသည် kernel memory ထဲသို့ ဒေတာ 0 KB အထိ ဖတ်နိုင် သို့မဟုတ် ရေးနိုင်သည်။

source: opennet.ru

မှတ်ချက် Add