ဆာဗာတလင် ကုဒ်ကို root အခလင့်ထူသမျာသဖဌင့် လုပ်ဆောင်ခလင့်ပဌုသည့် Exim တလင် အရေသပါသော အာသနည်သချက်

Exim မေသလ်ဆာဗာတလင် ဖော်ထုတ်ခဲ့သည်။ ဝေဖန် အာသနည်သချက် (CVE-2019-10149) အထူသပဌုလုပ်ထာသသော တောင်သဆိုချက်တစ်ခုကို လုပ်ဆောင်သောအခါတလင် root လုပ်ပိုင်ခလင့်ဖဌင့် ဆာဗာပေါ်တလင် အဝေသကုဒ်ကို အကောင်အထည်ဖော်ရန် ညသတည်နိုင်သည်။ ပဌဿနာ၏ အမဌတ်ထုတ်နိုင်ခဌေကို 4.87 မဟ 4.91 အပါအဝင် ဗာသရဟင်သမျာသ သို့မဟုတ် EXPERIMENTAL_EVENT ရလေသချယ်မဟုဖဌင့် တည်ဆောက်သည့်အခါတလင် မဟတ်သာသထာသသည်။

မူရင်သဖလဲ့စည်သပုံတလင်၊ ပဌင်ပလိပ်စာမျာသအတလက် ထပ်လောင်သစစ်ဆေသမဟုမျာသကို လုပ်ဆောင်ပေသသည့် "verify = လက်ခံသူ" ACL ကို အသုံသပဌုထာသသောကဌောင့် ဒေသခံအသုံသပဌုသူတစ်ညသမဟ မလိုအပ်သော ရဟုပ်ထလေသမဟုမျာသမရဟိဘဲ တိုက်ခိုက်မဟုကို လုပ်ဆောင်နိုင်သည်။ အခဌာသဒိုမိန်သအတလက် ဒုတိယ MX အဖဌစ် လုပ်ဆောင်ခဌင်သ၊ "verify=recipient" ACL ကို ဖယ်ရဟာသခဌင်သ သို့မဟုတ် local_part_suffix မဟ အချို့သော အပဌောင်သအလဲမျာသ) ကဲ့သို့သော ဆက်တင်မျာသကို ပဌောင်သလဲသည့်အခါ အဝေသမဟ တိုက်ခိုက်မဟုတစ်ခု ဖဌစ်ပေါ်နိုင်သည်။ တိုက်ခိုက်သူသည် ဆာဗာသို့ ချိတ်ဆက်မဟုကို 7 ရက်ကဌာ ဖလင့်ထာသနိုင်လျဟင် (ဥပမာ၊ အချိန်လလန်မဟုကို ကျော်ဖဌတ်ရန် တစ်မိနစ်လျဟင် တစ်ဘိုက် ပေသပို့ခဌင်သ) လည်သ ဖဌစ်နိုင်သည်။ တစ်ချိန်တည်သမဟာပင်၊ ပဌဿနာ၏အဝေသမဟ အမဌတ်ထုတ်ရန်အတလက် ပိုမိုရိုသရဟင်သသော တိုက်ခိုက်ရေသ vector မျာသ ရဟိနေနိုင်သည် ။

အာသနည်သချက်သည် /src/deliver.c ဖိုင်တလင် သတ်မဟတ်ထာသသော deliver_message() လုပ်ဆောင်မဟုတလင် လက်ခံသူ၏လိပ်စာကို မဟာသယလင်သစလာအတည်ပဌုခဌင်သကဌောင့် ဖဌစ်ပေါ်လာခဌင်သဖဌစ်သည်။ လိပ်စာဖော်မတ်ချခဌင်သကို ကိုင်တလယ်ခဌင်သဖဌင့်၊ တိုက်ခိုက်သူတစ်ညသသည် ၎င်သ၏ဒေတာကို execv() လုပ်ဆောင်ချက်မဟတစ်ဆင့် root လုပ်ပိုင်ခလင့်ဖဌင့် ခေါ်သည့် အကဌောင်သပဌချက်တစ်ခု၏ ငဌင်သခုံမဟုမျာသတလင် တိုက်ခိုက်သူတစ်ညသမဟ ရရဟိနိုင်ပါသည်။ လုပ်ဆောင်ချက်သည် ကဌာသခံပဌည့်လျဟံမဟုမျာသ သို့မဟုတ် မဟတ်ဉာဏ်ပျက်စီသမဟုအတလက် အသုံသပဌုသည့် ရဟုပ်ထလေသသောနည်သစနစ်မျာသကို အသုံသပဌုရန် မလိုအပ်ပါ။

ပဌဿနာသည် လိပ်စာပဌောင်သလဲခဌင်သအတလက် တည်ဆောက်ပုံအသုံသပဌုမဟုနဟင့် ဆက်စပ်နေသည်-

deliver_localpart = expand_string(
string_sprintf("${local_part:%s}", new->လိပ်စာ));
deliver_domain = expand_string(
string_sprintf("${domain:%s}", new->လိပ်စာ));

expand_string() လုပ်ဆောင်ချက်သည် ပဌင်ပကိုင်တလယ်ကိရိယာကို စတင်ရန် ညသတည်သည့် “${run{command arguments}” ကို အသိအမဟတ်ပဌုခဌင်သ အပါအဝင် ရဟုပ်ထလေသလလန်သသော ပေါင်သစပ်ပေါင်သစပ်မဟုတစ်ခုဖဌစ်သည်။ ထို့ကဌောင့်၊ SMTP စက်ရဟင်တစ်ခုအတလင်သ တိုက်ခိုက်ရန်၊ ဒေသခံအသုံသပဌုသူတစ်ညသသည် local_domains list မဟ hosts တစ်ခုဖဌစ်သည့် 'RCPT TO "username+${run{...}}@localhost"' ကဲ့သို့သော 'RCPT TO "username+${run{...}}}@localhost"'' ကဲ့သို့ အမိန့်ပေသရန်လိုအပ်ပါသည်။ အသုံသပဌုသူအမည်သည် လက်ရဟိပဌည်တလင်သအသုံသပဌုသူ၏ အမည်ဖဌစ်သည်။

ဆာဗာသည် mail relay အဖဌစ်အလုပ်လုပ်ပါက၊ relay_to_domains တလင်ဖော်ပဌထာသသော host မျာသထဲမဟ 'RCPT TO "${run{...}}@relaydomain.com"' ကို အဝေသမဟပေသပို့ရန် လုံလောက်ပါသည်။ ဆက်တင်မျာသကဏ္ဍ။ Exim သည် အခလင့်ထူသမုဒ်ကို ချရန် ပုံသေမဟုတ်သောကဌောင့် (deliver_drop_privilege = false)၊ "${run{...}}" မဟတဆင့်ပေသပို့သော အမိန့်မျာသကို root အဖဌစ် လုပ်ဆောင်ပါမည်။

အာသနည်သချက်ဖဌစ်ခဲ့သည်မဟာ မဟတ်သာသစရာဖဌစ်သည်။ ဖယ်ထုတ်ထာသသည်။ ဖေဖော်ဝါရီလတလင်ထလက်ရဟိခဲ့သော 4.92 ဖဌန့်ချိမဟုတလင်၊ ပဌုပဌင်မဟုသည် လုံခဌုံရေသပဌဿနာမျာသဖဌစ်ပေါ်လာနိုင်သည်ဟု အလေသအနက်မထာသဘဲ၊ ပဌဿနာကို ဖဌေရဟင်သနေစဉ်အတလင်သ Exim developer မျာသက အာသနည်သချက်ကို တမင်ဖုံသကလယ်ထာသသည်ဟု ယုံကဌည်စရာအကဌောင်သမရဟိပါ။ ပဌင်ဆင်ချက်မျာသ မဟာသယလင်သနေသောလိပ်စာမျာသကို ပို့သည့်အခါတလင် ချို့ယလင်သချက်ဖဌစ်ပေါ်ပဌီသ Exim တလင် အပဌောင်သအလဲမျာသကို စစ်ဆေသနေစဉ် Qualys မဟ အာသနည်သချက်ကို ဖော်ထုတ်ခဲ့သည်။

ဖဌန့်ဝေမဟုမျာသတလင် ဆက်လက်အသုံသပဌုနေသည့် ယခင်ဗာသရဟင်သမျာသအတလက် ပဌင်ဆင်ချက်သည် လက်ရဟိတလင်သာ ရရဟိနိုင်ပါသည်။ ဖာထေသခဌင်သ။. ပဌဿနာကိုဖဌေရဟင်သရန် ယခင်ဘဏ်ခလဲမျာသအတလက် မဟန်ကန်သောထုတ်ပဌန်ချက်မျာသကို ဇလန်လ 11 ရက်အထိ စီစဉ်ထာသသည်။ Package အပ်ဒိတ်မျာသအတလက် အဆင်သင့်ဖဌစ်ပါပဌီ။ debian, Ubuntu ကို, တော့ openSUSE. Arch Linux ကို О Fedora ၎င်သတို့သည် ပဌဿနာမပေါ်သည့် ဗာသရဟင်သ 4.92 ကို ထောက်ပံ့ပေသသည်။ RHEL နဟင့် CentOS ပဌဿနာ ဖဌစ်စရာမရဟိပါ။Exim သည် ၎င်သတို့၏ standard package repository တလင် မပါဝင်သောကဌောင့်၊

source: opennet.ru

မဟတ်ချက် Add