စနစ်တွင် သင်၏အခွင့်ထူးများကို တိုးမြှင့်ခွင့်ပြုသည့် Polkit ရှိ အားနည်းချက်

အခွင့်ထူးမခံသောအသုံးပြုသူများအား မြင့်မားသောဝင်ရောက်ခွင့်အခွင့်အရေးများ (ဥပမာ၊ USB ဒရိုက်တစ်ခုတပ်ဆင်ခြင်း) လိုအပ်သော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ခွင့်ပြုရန် ဖြန့်ဖြူးမှုတွင်အသုံးပြုသည့် Polkit အစိတ်အပိုင်းတွင် အားနည်းချက်တစ်ခု (CVE-2021-3560) ကို ဖော်ထုတ်ထားသည်။ စနစ်တွင် root လုပ်ပိုင်ခွင့်များရရှိရန်။ အားနည်းချက်ကို Polkit ဗားရှင်း 0.119 တွင် ပြင်ဆင်ထားသည်။

ပြဿနာသည် 0.113 ထွက်ရှိကတည်းက ရှိနေခဲ့ပြီးဖြစ်သော်လည်း RHEL၊ Ubuntu၊ Debian နှင့် SUSE အပါအဝင် ဖြန့်ဝေမှုအများအပြားသည် အဟောင်း Polkit ထုတ်ဝေမှုများအပေါ် အခြေခံထားသော ပက်ကေ့ဂျ်များတွင် ထိခိုက်သည့်လုပ်ဆောင်နိုင်စွမ်းကို နောက်ကြောင်းပြန်ပို့ထားပါသည် (ပက်ကေ့ချ်ပြင်ဆင်မှုများကို ဖြန့်ဖြူးမှုများတွင် ရရှိထားပြီးဖြစ်သည်)။

polkit_system_bus_name_get_creds_sync() လုပ်ဆောင်ချက်တွင် ပြဿနာသည် အခွင့်ထူးတိုးမြှင့်ပေးရန် တောင်းဆိုသည့် လုပ်ငန်းစဉ်၏ identifiers (uid နှင့် pid) ကို ရယူသည်။ DBus တွင် ထူးခြားသောအမည်တစ်ခုသတ်မှတ်ခြင်းဖြင့် လုပ်ငန်းစဉ်တစ်ခုကို Polkit မှသတ်မှတ်ထားပြီး၊ ထို့နောက် အခွင့်ထူးများကိုအတည်ပြုရန်အသုံးပြုသည်။ polkit_system_bus_name_get_creds_sync handler မစတင်မီ လုပ်ငန်းစဉ်တစ်ခုသည် dbus-daemon မှ ချိတ်ဆက်မှုအား ဖြတ်တောက်ပါက၊ ကိုင်တွယ်သူသည် ထူးခြားသောအမည်အစား အမှားအယွင်းကုဒ်တစ်ခုကို လက်ခံရရှိမည်ဖြစ်သည်။

အားနည်းချက်မှာ ပြန်ပေးထားသော အမှားကုဒ်ကို ကောင်းမွန်စွာ မလုပ်ဆောင်နိုင်ခြင်းကြောင့် ဖြစ်ပြီး polkit_system_bus_name_get_creds_sync() လုပ်ဆောင်ချက်သည် လုပ်ငန်းစဉ်ကို uid/pid နှင့် ကိုက်ညီအောင် မယှဉ်နိုင်သော်လည်း လုပ်ငန်းစဉ်အတွက် တောင်းဆိုထားသည့် အခွင့်ထူးများကို စိစစ်နေသော်လည်း FALSE အစား TRUE ဖြစ်သွားပါသည်။ polkit_system_bus_name_get_creds_sync() လုပ်ဆောင်ချက်ကို ခေါ်ဆိုထားသည့် ကုဒ်သည် စစ်ဆေးမှု အောင်မြင်သည်ဟု ယူဆပြီး အခွင့်ထူးများ တိုးပေးရန် တောင်းဆိုချက်သည် root မှမဟုတ်ဘဲ အခွင့်ထူးမခံသော သုံးစွဲသူထံမှ မဟုတ်ဘဲ၊ ၎င်းသည် အခွင့်ထူးခံအထောက်အထားများကို ထပ်လောင်းစစ်မှန်ကြောင်းနှင့် အတည်ပြုခြင်းမပြုဘဲ အခွင့်ထူးခံလုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်စေသည်။

source: opennet.ru

မှတ်ချက် Add