Bluetooth မှတစ်ဆင့် အဝေးထိန်းစနစ်ဖြင့် Linux kernel ရှိ အားနည်းချက်များ

Bluetooth မှတဆင့် အထူးဒီဇိုင်းထုတ်ထားသော L2022CAP ပက်ကတ်ကို ပေးပို့ခြင်းဖြင့် kernel အဆင့်တွင် အဝေးကုဒ်လုပ်ဆောင်မှုကို စုစည်းရန် အသုံးပြုနိုင်သည့် အားနည်းချက် (CVE-42896-2) ကို Linux kernel တွင် ဖော်ထုတ်ထားသည်။ ထို့အပြင်၊ L2022CAP ကိုင်တွယ်ကိရိယာရှိ အခြားအလားတူပြဿနာ (CVE-42895-2) ကို ဖော်ထုတ်ထားပြီး၊ ၎င်းသည် ဖွဲ့စည်းမှုအချက်အလက်ပါသော packet များတွင် kernel memory အကြောင်းအရာများ ပေါက်ကြားသွားနိုင်သည်။ ပထမအားနည်းချက် (kernel 2014) သည် ဩဂုတ်လ 3.16 ကတည်းက ပေါ်လာခဲ့ပြီး 2011 ခုနှစ် အောက်တိုဘာလ ( kernel 3.0 ) မှ ဒုတိယဖြစ်သည်။ အားနည်းချက်များကို Linux kernel ထုတ်ဝေမှုများ 6.1.0၊ 6.0.8၊ 4.9.333၊ 4.14.299၊ 4.19.265၊ 5.4.224၊ 5.10.154 နှင့် 5.15.78 တို့တွင် ကိုင်တွယ်ဖြေရှင်းထားပါသည်။ အောက်ပါစာမျက်နှာများတွင် ဖြန့်ဝေမှုများတွင် ပြင်ဆင်မှုများကို သင်ခြေရာခံနိုင်သည်- Debian၊ Ubuntu၊ Gentoo၊ RHEL၊ SUSE၊ Fedora၊ Arch။

အဝေးထိန်းတိုက်ခိုက်မှုကို လုပ်ဆောင်နိုင်ခြေကို သရုပ်ပြရန်၊ ရှေ့ပြေးပုံစံ exploits များကို Ubuntu 22.04 တွင် လုပ်ဆောင်နိုင်သော ထုတ်ဝေခဲ့သည်။ တိုက်ခိုက်မှုတစ်ခုလုပ်ဆောင်ရန်၊ တိုက်ခိုက်သူသည် ဘလူးတုသ်အကွာအဝေးအတွင်းရှိရမည်- ကြိုတင်တွဲချိတ်ရန် မလိုအပ်သော်လည်း Bluetooth သည် ကွန်ပျူတာတွင် တက်ကြွနေရပါမည်။ တိုက်ခိုက်မှုတစ်ခုအတွက်၊ Wi-Fi MAC လိပ်စာကို အခြေခံ၍ တွက်ချက်ထားသော သို့မဟုတ် အချို့စက်ပစ္စည်းများတွင် အနံ့ခံခြင်းဖြင့် ဆုံးဖြတ်နိုင်သည့် သားကောင်၏ MAC လိပ်စာကို သိရန် လုံလောက်ပါသည်။

l2022cap_connect နှင့် l42896cap_le_connect_req လုပ်ဆောင်ချက်များကို အကောင်အထည်ဖော်ရာတွင် ပထမဆုံး အားနည်းချက် (CVE-2-2) သည် လွတ်ပြီးသော မမ်မိုရီဧရိယာ (အသုံးပြုပြီးနောက် အခမဲ့) ကို ဝင်ရောက်ခြင်းကြောင့် ဖြစ်ပေါ်လာခြင်းဖြစ်သည် - new_connection callback မှတဆင့် ချန်နယ်တစ်ခုကို ဖန်တီးပြီးနောက် လော့ခ်တစ်ခု သတ်မှတ်မထားပါ။ ၎င်းအတွက်၊ သို့သော် အချိန်ကုန်သွားသောအခါတွင် timer ကို သတ်မှတ်ပြီး l2cap_chan_timeout လုပ်ဆောင်ချက်ကို ခေါ်ကာ l2cap_le_connect* လုပ်ဆောင်ချက်များတွင် ချန်နယ်နှင့် အလုပ်ပြီးစီးမှုကို မစစ်ဆေးဘဲ ချန်နယ်ကို ရှင်းလင်းလိုက်ပါ။

ပုံသေအချိန်ကုန်ဆုံးမှုသည် စက္ကန့် 40 ဖြစ်ပြီး ပြိုင်ပွဲအခြေအနေသည် ထိုသို့သောနှောင့်နှေးမှုဖြင့် မဖြစ်ပေါ်လာနိုင်ဟု ယူဆခဲ့သော်လည်း SMP handler တွင် အခြားအမှားတစ်ခုကြောင့် timer သို့ ချက်ခြင်းခေါ်ဆိုပြီး အောင်မြင်မှုရရှိရန် ဖြစ်နိုင်ချေရှိသည်။ ပြိုင်ပွဲအခြေအနေ။ l2cap_le_connect_req တွင် ပြဿနာတစ်ခုသည် kernel memory ယိုစိမ့်မှုကို ဦးတည်နိုင်ပြီး l2cap_connect တွင် ၎င်းသည် memory ၏ အကြောင်းအရာများကို overwrite လုပ်ပြီး ၎င်း၏ code ကို execute လုပ်နိုင်သည်။ ပထမအမျိုးအစားကို Bluetooth LE 4.0 (2009 ခုနှစ်ကတည်းက) အသုံးပြု၍ တိုက်ခိုက်နိုင်ပြီး ဒုတိယအမျိုးအစားမှာ Bluetooth BR/EDR 5.2 (2020 ခုနှစ်ကတည်းက) ကို အသုံးပြုထားသည်။

ဒုတိယအားနည်းချက် (CVE-2022-42895) သည် l2cap_parse_conf_req လုပ်ဆောင်ချက်တွင် ကျန်ရှိသော မမ်မိုရီယိုစိမ့်မှုကြောင့် ဖြစ်ရခြင်းဖြစ်ပြီး၊ အထူးပြုလုပ်ထားသော ဖွဲ့စည်းမှုပုံစံတောင်းဆိုချက်များကို ပေးပို့ခြင်းဖြင့် pointers များထံသို့ kernel တည်ဆောက်ပုံများအကြောင်း အချက်အလက်များကို အဝေးမှရယူရန်အတွက် အသုံးပြုနိုင်သည်။ l2cap_parse_conf_req လုပ်ဆောင်ချက်သည် l2cap_conf_efs ဖွဲ့စည်းပုံကို အသုံးပြုထားသောကြောင့် ခွဲဝေချထားပေးသည့် မှတ်ဉာဏ်အား ကြိုတင်လုပ်ဆောင်ခြင်းမပြုဘဲ FLAG_EFS_ENABLE အလံကို ကြိုးကိုင်ခြင်းဖြင့် ၎င်းသည် ပက်ကတ်အတွင်း စစည်းမှ ဒေတာဟောင်းများကို ထည့်သွင်းရန် ဖြစ်နိုင်သည်။ ပြဿနာသည် CONFIG_BT_HS ရွေးချယ်မှုဖြင့် ကာနယ်ကို တည်ဆောက်ထားသည့် စနစ်များတွင်သာ ပေါ်လာသည် (မူလအားဖြင့် ပိတ်ထားသော်လည်း Ubuntu ကဲ့သို့ အချို့သော ဖြန့်ဝေမှုများတွင် ဖွင့်ထားသည်)။ အောင်မြင်သောတိုက်ခိုက်မှုတစ်ခုသည် စီမံခန့်ခွဲမှုအင်တာဖေ့စ်မှတစ်ဆင့် HCI_HS_ENABLED ကန့်သတ်ဘောင်ကို အမှန်အဖြစ်သတ်မှတ်ရန် လိုအပ်သည် (ပုံမှန်အားဖြင့် အသုံးမပြုပါ)။

source: opennet.ru

မှတ်ချက် Add