ပြဿနာ
string_interpret_escape() ဟုခေါ်သော ကုဒ်သည် အမှန်တကယ်အရွယ်အစားပေါ်အခြေခံ၍ ယိုစီးမှုအတွက် ကြားခံတစ်ခုကို ခွဲဝေပေးသည်၊ နှင့်ထိတွေ့နေသောညွှန်ပြသည် ကြားခံ၏ဘောင်အပြင်ဘက်ရှိ ဧရိယာတွင်အဆုံးသတ်သည်။ ထို့ကြောင့်၊ input string တစ်ခုကို လုပ်ဆောင်ရန် ကြိုးစားသောအခါ၊ ခွဲဝေပေးထားသော ကြားခံ၏ ဘောင်အပြင်ဘက်ရှိ ဧရိယာမှ ဒေတာကို ဖတ်သည့်အခါ အခြေအနေတစ်ခု ဖြစ်ပေါ်လာပြီး မလွတ်မြောက်သော စာကြောင်းတစ်ခုကို ရေးသားရန် ကြိုးပမ်းခြင်းသည် ကြားခံဘောင်ကိုကျော်လွန်၍ ရေးသားခြင်းဆီသို့ ဦးတည်သွားစေနိုင်သည်။
မူရင်းဖွဲ့စည်းပုံစနစ်တွင်၊ ဆာဗာသို့ လုံခြုံသောချိတ်ဆက်မှုတစ်ခုတည်ဆောက်သောအခါတွင် အထူးဒီဇိုင်းထုတ်ထားသောဒေတာကို SNI သို့ပေးပို့ခြင်းဖြင့် အားနည်းချက်ကိုအသုံးချနိုင်သည်။ client လက်မှတ်စစ်မှန်ကြောင်းအတည်ပြုခြင်းအတွက်ပြင်ဆင်ထားသောပုံစံများ သို့မဟုတ် လက်မှတ်များကိုတင်သွင်းသည့်အခါတွင် peerdn တန်ဖိုးများကိုမွမ်းမံခြင်းဖြင့်လည်း ပြဿနာကိုအသုံးချနိုင်သည်။ SNI နှင့် peerdn မှတစ်ဆင့် တိုက်ခိုက်ခြင်းသည် ထုတ်ဝေမှုမှ စတင်၍ ဖြစ်နိုင်သည်။
Glibc ဖြင့် Linux စနစ်များရှိ i386 နှင့် amd64 ဗိသုကာများပေါ်တွင် လုပ်ဆောင်နေသည့် SNI မှတစ်ဆင့် တိုက်ခိုက်မှုအတွက် အသုံးချပုံတူပုံစံကို ပြင်ဆင်ထားပါသည်။ exploit သည် heap area တွင် data overlay ကို အသုံးပြုပြီး log file name ကို သိမ်းဆည်းထားသည့် memory ကို overwrite လုပ်ခြင်းဖြင့် ရလဒ်ကို ရရှိသည်။ ဖိုင်အမည်ကို "/../../../../../../../../etc/passwd" ဖြင့် အစားထိုးထားသည်။ ထို့နောက်၊ ပေးပို့သူ၏လိပ်စာပါသော ကိန်းရှင်ကို မှတ်တမ်းတွင် ဦးစွာသိမ်းဆည်းထားပြီး၊ ၎င်းသည် စနစ်သို့အသုံးပြုသူအသစ်တစ်ဦးကို ထည့်သွင်းနိုင်စေမည့် မှတ်တမ်းတွင် သိမ်းဆည်းထားသည်။
ဖြန့်ဖြူးမှုများမှ ထုတ်ပြန်သော အားနည်းချက်ပြင်ဆင်မှုများနှင့်အတူ ပက်ကေ့ခ်ျအပ်ဒိတ်များ
အားနည်းချက်ကို ပိတ်ဆို့ရန် ဖြေရှင်းချက်အနေဖြင့် TLS ပံ့ပိုးမှုကို ပိတ်နိုင်သည် သို့မဟုတ် ထည့်နိုင်သည်။
ACL ကဏ္ဍ “acl_smtp_mail”-
ငြင်းဆိုမှုအခြေအနေ = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
ငြင်းဆိုမှုအခြေအနေ = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
source: opennet.ru