ပရောဂျက်ပေါင်း 270 အသုံးပြုသော node-netmask NPM ပက်ကေ့ချ်တွင် အားနည်းချက်

တစ်ပတ်လျှင် ဒေါင်းလုဒ် ၃ သန်းခန့်ရှိပြီး GitHub ပေါ်ရှိ ပရောဂျက်ပေါင်း 3 ကျော်အပေါ် မှီခိုမှုအဖြစ် အသုံးပြုထားသည့် node-netmask NPM ပက်ကေ့ဂျ်တွင် ကွန်ရက်ဖုံးကိုအသုံးပြုသည့်စစ်ဆေးမှုများကို ကျော်လွှားနိုင်စေမည့် အားနည်းချက်တစ်ခုရှိသည် (CVE-270-2021) အပိုင်းအခြားများအတွက် သို့မဟုတ် စစ်ထုတ်ခြင်းအတွက် ဖြစ်ပျက်မှုကို ဆုံးဖြတ်ရန်။ node-netmask 28918 ထုတ်ဝေမှုတွင် ပြဿနာကို ဖြေရှင်းထားသည်။

အားနည်းချက်သည် SSRF (Server-side တောင်းဆိုမှုအတုအပ) ကိုလုပ်ဆောင်ရန် အပလီကေးရှင်းရှိ node-netmask module ကိုအသုံးပြုခြင်း၏ ယုတ္တိတစ်ခုအနေဖြင့် ပြင်ပ IP လိပ်စာကို အတွင်းပိုင်းကွန်ရက်မှ လိပ်စာတစ်ခုအဖြစ် ကုသရန် ဖြစ်နိုင်ချေရှိသည်။ (Remote File Inclusion) နှင့် LFI (Local File Inclusion) တိုက်ခိုက်မှုများ ) အတွင်းပိုင်းကွန်ရက်ပေါ်ရှိ အရင်းအမြစ်များကို ဝင်ရောက်ကြည့်ရှုပြီး execution ကွင်းဆက်ရှိ ပြင်ပ သို့မဟုတ် ဒေသဆိုင်ရာဖိုင်များ ပါဝင်သည်။ ပြဿနာမှာ သတ်မှတ်ချက်အရ သုညမှစတင်သည့် လိပ်စာ စာကြောင်းတန်ဖိုးများကို အဋ္ဌမဂဏန်းများအဖြစ် အဓိပ္ပာယ်ဖွင့်ဆိုရမည်ဖြစ်ပြီး၊ သို့သော် node-netmask module သည် ၎င်းကို ထည့်သွင်းစဉ်းစားခြင်းမရှိသည့်အပြင် ၎င်းတို့ကို ဒဿမဂဏန်းများအဖြစ် သတ်မှတ်သည်။

ဥပမာအားဖြင့်၊ တိုက်ခိုက်သူသည် "0177.0.0.1" နှင့် ကိုက်ညီသည့် တန်ဖိုး "127.0.0.1" ကို သတ်မှတ်ခြင်းဖြင့် ဒေသတွင်း ရင်းမြစ်တစ်ခု တောင်းဆိုနိုင်သော်လည်း "node-netmask" module သည် null ကို ဖယ်ပစ်ပြီး 0177.0.0.1″ ကို "အဖြစ် သတ်မှတ်မည်" 177.0.0.1" သည် ဝင်ရောက်ခွင့်စည်းမျဉ်းများကို အကဲဖြတ်သည့်အခါ အပလီကေးရှင်းတွင်၊ "127.0.0.1" ဖြင့် မည်သူမည်ဝါဖြစ်ကြောင်း ဆုံးဖြတ်ရန် မဖြစ်နိုင်ပါ။ အလားတူ၊ တိုက်ခိုက်သူသည် “0127.0.0.1” နှင့် ထပ်တူဖြစ်သင့်သည့် လိပ်စာ “87.0.0.1” ကို သတ်မှတ်နိုင်သော်လည်း “node-netmask” module တွင် “127.0.0.1” အဖြစ် သဘောထားမည်ဖြစ်သည်။ အလားတူ၊ “012.0.0.1” ကဲ့သို့သော တန်ဖိုးများကို သတ်မှတ်ခြင်းဖြင့် အင်ထရာနက်လိပ်စာများသို့ ဝင်ရောက်ခွင့်အတွက် ချက်လက်မှတ်ကို သင်လိမ်လည်နိုင်သည်။

ပြဿနာကို ဖော်ထုတ်ခဲ့သော သုတေသီများသည် ပြဿနာကို ကပ်ဆိုးကြီးဟုခေါ်ဆိုကာ တိုက်ခိုက်မှုဆိုင်ရာ မြင်ကွင်းများစွာကို ပံ့ပိုးပေးကြသော်လည်း အများစုမှာ မှန်းဆကြည့်ကြသည်။ ဥပမာအားဖြင့်၊ ၎င်းသည် ထည့်သွင်းတောင်းဆိုမှု၏ ကန့်သတ်ဘောင်များ သို့မဟုတ် ဒေတာအပေါ်အခြေခံ၍ အရင်းအမြစ်တစ်ခုတောင်းဆိုရန် ပြင်ပချိတ်ဆက်မှုများကို တည်ဆောက်ပေးသည့် Node.js-based အက်ပ်လီကေးရှင်းကို တိုက်ခိုက်ခြင်းဖြစ်နိုင်ချေအကြောင်း ပြောဆိုသော်လည်း ၎င်းသည် အပလီကေးရှင်းကို အတိအကျအမည် သို့မဟုတ် အသေးစိတ်မဖော်ပြထားပါ။ ထည့်သွင်းထားသော IP လိပ်စာများကို အခြေခံ၍ အရင်းအမြစ်များကို တင်ဆောင်သည့် အပလီကေးရှင်းများကို သင်ရှာတွေ့သော်လည်း၊ ဒေသန္တရကွန်ရက်သို့ မချိတ်ဆက်ဘဲ သို့မဟုတ် “mirror” IP လိပ်စာများကို ထိန်းချုပ်ခြင်းမရှိဘဲ လက်တွေ့တွင် အားနည်းချက်ကို မည်သို့အသုံးချနိုင်သည်ကို ရှင်းရှင်းလင်းလင်း မသိရပါ။

87.0.0.1 (Telecom Italia) နှင့် 0177.0.0.1 (Brasil Telecom) တို့၏ ပိုင်ရှင်များသည် 127.0.0.1 သို့ ဝင်ရောက်ခွင့်ကန့်သတ်ချက်ကို ကျော်ဖြတ်နိုင်သည်ဟု သုတေသီများက ယူဆပါသည်။ ပိုမိုလက်တွေ့ကျသော မြင်ကွင်းတစ်ခုသည် အမျိုးမျိုးသော အပလီကေးရှင်း-ဘေးဘလောက်စာရင်းများကို ကျော်လွှားရန် အားနည်းချက်ကို အသုံးချရန်ဖြစ်သည်။ NPM module "private-ip" ရှိ အင်ထရာနက်အပိုင်းအခြားများ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကို မျှဝေရာတွင်လည်း အဆိုပါပြဿနာကို အသုံးပြုနိုင်မည်ဖြစ်သည်။

source: opennet.ru

မှတ်ချက် Add