OpenBSD IPv6 stack ရှိ အဝေးထိန်း အားနည်းချက်

OpenBSD ရှိ IPv6 လိပ်စာ အလိုအလျောက်ဖွဲ့စည်းမှု (IPv6 Stateless Address Autoconfiguration, RFC 4862) အတွက် တာဝန်ရှိသည့် နောက်ခံလုပ်ငန်းစဉ် slaacd တွင်၊ အထူးဒီဇိုင်းထုတ်ထားသော IPv6 router ကြော်ငြာ (RA၊ Router Advertisement) ကို လက်ခံရရှိသည့်အခါ ကြားခံအလျှံပယ်ဖြစ်စေသော အားနည်းချက်တစ်ခုကို ဖော်ထုတ်ခဲ့သည်။ .

အစပိုင်းတွင်၊ IPv6 လိပ်စာ အလိုအလျောက်ဖွဲ့စည်းမှုလုပ်ဆောင်နိုင်စွမ်းကို kernel အဆင့်တွင် အကောင်အထည်ဖေါ်ခဲ့သော်လည်း OpenBSD 6.2 မှစတင်၍ ၎င်းအား သီးခြားအခွင့်အရေးမဖြစ်သော slaacd လုပ်ငန်းစဉ်သို့ ရွှေ့ခဲ့သည်။ ဤလုပ်ငန်းစဉ်သည် RS (Router Solicitation) မက်ဆေ့ဂျ်များပေးပို့ခြင်းနှင့် Router Advertisement) တုံ့ပြန်မှုများကို router နှင့် network connection parameters များအကြောင်း အချက်အလက်များဖြင့် ခွဲခြမ်းစိတ်ဖြာရန် တာဝန်ရှိသည်။

ဖေဖော်ဝါရီလတွင်၊ slaacd သည် RDNSS (Recursive DNS Servers) စာရင်းတွင် ဆာဗာ 7 ခုကို သတ်မှတ်ထားပါက ပျက်စီးသွားစေသည့် bug ကို ပြင်ဆင်ခဲ့သည်။ ဤကြီးကြပ်မှုသည် RA မက်ဆေ့ချ်များတွင် နယ်ပယ်များကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ ဖြစ်ပေါ်လာသည့် အခြားသောအမှားများအတွက် slaacd ကုဒ်ကို စစ်ဆေးရန် ကြိုးစားသော လွတ်လပ်သောသုတေသီများ၏ အာရုံစိုက်မှုကို ဆွဲဆောင်ခဲ့သည်။ ခွဲခြမ်းစိတ်ဖြာချက်တွင် ဒိုမိန်းအမည်များနှင့် DNS အတွက် လက်ခံဆောင်ရွက်ပေးသည့် နမူနာပုံစံများပါရှိသော DNSSL (DNS Search List) အကွက်ကို လုပ်ဆောင်သည့်အခါတွင် ၎င်းသည် ကုဒ်တွင် အခြားပြဿနာတစ်ခုရှိကြောင်း ခွဲခြမ်းစိတ်ဖြာချက်တွင် ပြသခဲ့သည်။

DNSSL စာရင်းရှိ အမည်တစ်ခုစီကို null မျဉ်းသားချက်ဖြင့် ကုဒ်လုပ်ထားပြီး အောက်ပါဒေတာအရွယ်အစားကို ဆုံးဖြတ်သည့် one-byte တက်ဂ်များကို ကြားဝင်ဆောင်ရွက်ပေးပါသည်။ စာရင်းခွဲခြမ်းစိတ်ဖြာမှုကုဒ်တွင် အရွယ်အစားရှိသော အကွက်တစ်ခုကို ကိန်းပြည့်အမျိုးအစား (“len = data[pos]”) ဖြင့် ကိန်းသေတစ်ခုသို့ ကူးယူထားသည့်အချက်ကြောင့် အားနည်းချက်မှာ ဖြစ်ပေါ်လာခြင်းဖြစ်သည်။ ထို့ကြောင့်၊ အထင်ရှားဆုံးသောဘစ်သတ်မှတ်မှုဖြင့် အကွက်တွင် တန်ဖိုးတစ်ခုကို သတ်မှတ်ပါက၊ ဤတန်ဖိုးကို အခြေအနေဆိုင်ရာ အော်ပရေတာတွင် အနုတ်နံပါတ်အဖြစ် ခံယူပြီး အများဆုံးခွင့်ပြုနိုင်သောအရွယ်အစားအတွက် စစ်ဆေးခြင်း (“if (len > 63 || len + pos + 1 > datalen) {“) သည် အလုပ်လုပ်မည်မဟုတ်ပါ၊ ၎င်းသည် ကူးယူထားသောဒေတာ၏အရွယ်အစားသည် ကြားခံအရွယ်အစားထက်ကျော်လွန်သည့် ကန့်သတ်ဘောင်တစ်ခုဖြင့် memcpy သို့ခေါ်ဆိုမှုဆီသို့ ဦးတည်သွားမည်ဖြစ်သည်။

OpenBSD IPv6 stack ရှိ အဝေးထိန်း အားနည်းချက်
OpenBSD IPv6 stack ရှိ အဝေးထိန်း အားနည်းချက်


source: opennet.ru

မှတ်ချက် Add