root access ကိုခွင့်ပြုသည့် networkd-dispatcher တွင် အားနည်းချက်များ

Microsoft မှ လုံခြုံရေးသုတေသီများသည် အခွင့်ထူးခံမရှိသောအသုံးပြုသူတစ်ဦးအား အမြစ်အခွင့်ထူးများဖြင့် မတရားသောအမိန့်ပေးမှုများကို လုပ်ဆောင်ခွင့်ပြုသည့် networkd-dispatcher service တွင် အားနည်းချက်နှစ်ခု (CVE-2022-29799၊ CVE-2022-29800) ကို ရှာဖွေတွေ့ရှိခဲ့သည်။ networkd-dispatcher 2.2 ထုတ်ဝေမှုတွင် ပြဿနာကို ဖြေရှင်းထားသည်။ ဖြန့်ချီမှုများဖြင့် အပ်ဒိတ်များ ထုတ်ဝေခြင်းဆိုင်ရာ အချက်အလက် မရှိသေးပါ (Debian၊ RHEL၊ Fedora၊ SUSE၊ Ubuntu၊ Arch Linux)။

Networkd-dispatcher ကို Ubuntu အပါအဝင် Linux ဖြန့်ချီရေး အများအပြားတွင် အသုံးပြုထားပြီး၊ ကွန်ရက် ကန့်သတ်ချက်များကို စီစဉ်သတ်မှတ်ရန် နောက်ခံလုပ်ငန်းစဉ်များကို systemd-networkd ကိုအသုံးပြုကာ NetworkManager-dispatcher နှင့် အလားတူလုပ်ဆောင်ချက်များကို လုပ်ဆောင်ပေးသည်။ ကွန်ရက်ချိတ်ဆက်မှုအခြေအနေပြောင်းလဲသောအခါတွင်၊ ဥပမာ၊ ပင်မကွန်ရက်ချိတ်ဆက်မှုတည်ဆောက်ပြီးနောက် VPN တစ်ခုကို စတင်ရန်အသုံးပြုသည်။

networkd-dispatcher နှင့်ဆက်စပ်သော နောက်ခံလုပ်ငန်းစဉ်သည် root အဖြစ်လုပ်ဆောင်ပြီး D-Bus မှတဆင့် ဖြစ်ရပ်အချက်ပြမှုများကို လက်ခံရရှိပါသည်။ ကွန်ရက်ချိတ်ဆက်မှုအခြေအနေပြောင်းလဲမှုများနှင့်ပတ်သက်သည့် အဖြစ်အပျက်များအကြောင်း အချက်အလက်များကို systemd-networkd ဝန်ဆောင်မှုမှ ပေးပို့ပါသည်။ ပြဿနာမှာ အခွင့်ထူးမရသေးသောအသုံးပြုသူများသည် နဂိုမူလအခြေအနေဖြစ်ရပ်ကိုဖန်တီးနိုင်ပြီး ၎င်းတို့၏ script ကို root အဖြစ်လုပ်ဆောင်ရန် အစပျိုးနိုင်ခြင်းကြောင့်ဖြစ်သည်။

Systemd-networkd သည် /etc/networkd-dispatcher directory တွင်ရှိသော system handler scripts များကိုသာ run ရန် ဒီဇိုင်းထုတ်ထားပြီး user replacement အတွက် အသုံးပြု၍မရသော်လည်း file path processing code (CVE-2022-29799) ရှိ အားနည်းချက်ကြောင့်၊ နယ်နိမိတ်ပြင်ပတွင် အခြေစိုက်သည့် လမ်းညွှန်ချက်တစ်ခုနှင့် မတရားသော ဇာတ်ညွှန်းများကို စတင်ခြင်း၏ ဖြစ်နိုင်ခြေ။ အထူးသဖြင့်၊ ဇာတ်ညွှန်းသို့ ဖိုင်လမ်းကြောင်းကို ဖွဲ့စည်းသောအခါ၊ အထူးအက္ခရာများကို မရှင်းလင်းသည့် D-Bus မှတစ်ဆင့် ပေးပို့သော OperationalState နှင့် AdministrationState တန်ဖိုးများကို အသုံးပြုခဲ့သည်။ တိုက်ခိုက်သူသည် “../” စာလုံးများပါရှိသော ၎င်း၏ကိုယ်ပိုင်ပြည်နယ်ကို ဖန်တီးနိုင်ပြီး networkd-dispatcher ခေါ်ဆိုမှုကို အခြားလမ်းညွှန်သို့ ပြန်ညွှန်းနိုင်သည်။

ဒုတိယအားနည်းချက် (CVE-2022-29800) သည် ပြိုင်ပွဲအခြေအနေတစ်ခုနှင့် သက်ဆိုင်သည် - script parameters များကိုစစ်ဆေးခြင်း (root နှင့်သက်ဆိုင်သည်) နှင့် ၎င်းကို run ခြင်းကြားတွင်၊ ဖိုင်ကိုအစားထိုးရန်လုံလောက်သောအချိန်တိုတောင်းပြီး စစ်ဆေးခြင်းရှိမရှိစစ်ဆေးခြင်းကို ကျော်လွှားနိုင်သည်။ script သည် root အသုံးပြုသူမှပိုင်ဆိုင်သည်။ ထို့အပြင်၊ networkd-dispatcher သည် subprocess မှတဆင့် scripts များကို run သည့်အခါအပါအဝင် သင်္ကေတလင့်ခ်များကို စစ်ဆေးခြင်းမပြုပါ။ တိုက်ခိုက်သည့်အဖွဲ့အစည်းကို သိသိသာသာရိုးရှင်းစေသည့် Popen ခေါ်ဆိုမှု။

လည်ပတ်မှုနည်းပညာ

  • လမ်းညွှန် “/tmp/nimbuspwn” နှင့် သင်္ကေတလင့်ခ် “/tmp/nimbuspwn/poc.d” ကို အမြစ်မှပိုင်ဆိုင်သော လည်ပတ်နိုင်သောဖိုင်များကို စစ်ဆေးရန်အတွက် အသုံးပြုသည့် လမ်းညွှန် “/sbin” ကို ညွှန်ပြဖန်တီးထားသည်။
  • “/sbin” မှ executable files များအတွက်၊ “/tmp/nimbuspwn” directory တွင် နာမည်တူဖိုင်များကို ဖန်တီးထားပါသည်၊ ဥပမာ၊ “/sbin/vgs” ဖိုင်အတွက် “/tmp/nimbuspwn/vgs” သည် executable file “/tmp/nimbuspwn/vgs” ဖြစ်သည် တိုက်ခိုက်သူ လုပ်ဆောင်လိုသော ကုဒ်ကို အခွင့်ထူးမခံရသေးသော အသုံးပြုသူတစ်ဦးက ပိုင်ဆိုင်ပြီး ဖန်တီးထားသည်။
  • OperationalState တွင် “../../../tmp/nimbuspwn/poc” တန်ဖိုးကို ညွှန်ပြသော networkd-dispatcher လုပ်ငန်းစဉ်သို့ D-Bus မှတစ်ဆင့် အချက်ပြပေးပို့သည်။ namespace “org.freedesktop.network1” တွင် အချက်ပြပေးပို့ရန်၊ ၎င်း၏ ကိုင်တွယ်သူများကို systemd-networkd နှင့် ချိတ်ဆက်နိုင်သည့် စွမ်းရည်ကို ဥပမာအားဖြင့် gpgv သို့မဟုတ် epmd ဖြင့် ခြယ်လှယ်မှုများမှတစ်ဆင့် သို့မဟုတ် systemd-networkd ဟူသောအချက်ကို အခွင့်ကောင်းယူနိုင်သည်။ ပုံသေအားဖြင့် မလည်ပတ်ပါ (ဥပမာ၊ Linux Mint တွင်)။
  • အချက်ပြမှုကို လက်ခံရရှိပြီးနောက်၊ Networkd-dispatcher သည် root အသုံးပြုသူပိုင်ဆိုင်သည့် ဖိုင်များစာရင်းကို တည်ဆောက်ပြီး “/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d” လမ်းညွှန်တွင် ရရှိနိုင်ပါသည်။ တကယ်တော့ "/sbin" နှင့် ချိတ်ဆက်ထားသည်။
  • ဖိုင်များစာရင်းကို လက်ခံရရှိသော်လည်း ဇာတ်ညွှန်းကို မဖွင့်ရသေးသည့်အချိန်တွင်၊ သင်္ကေတလင့်ခ်ကို “/tmp/nimbuspwn/poc.d” မှ “/tmp/nimbuspwn” သို့ ပြန်ညွှန်းပြီး networkd-dispatcher မှ စတင်လုပ်ဆောင်ပေးမည်ဖြစ်သည်။ root လုပ်ပိုင်ခွင့်ဖြင့် တိုက်ခိုက်သူမှ လက်ခံထားသော script ကို။

root access ကိုခွင့်ပြုသည့် networkd-dispatcher တွင် အားနည်းချက်များ


source: opennet.ru

မှတ်ချက် Add