Container မှ လွတ်မြောက်နိုင်စေမည့် Docker ရှိ အားနည်းချက်

သီးခြား Linux Docker ကွန်တိန်နာများကို စီမံခန့်ခွဲရန်အတွက် ကိရိယာအစုံတွင် ဖော်ထုတ်ခဲ့သည်။ အားနည်းချက် (CVE-2018-15664) စနစ်တွင် ၎င်း၏ရုပ်ပုံများကို လုပ်ဆောင်နိုင်သည့်အခါ သို့မဟုတ် လုပ်ဆောင်နေသည့် ကွန်တိန်နာကို ဝင်ရောက်သည့်အခါတွင် အချို့သောအခြေအနေများတွင် ကွန်တိန်နာတစ်ခုမှ လက်ခံရရှိသည့် ပတ်ဝန်းကျင်သို့ ဝင်ရောက်ခွင့်ပြုသည်။ ပြဿနာသည် Docker ဗားရှင်းအားလုံးတွင် ဖြစ်ပေါ်ပြီး မပြင်ဆင်ရသေးပါ (အဆိုပြုထားသော်လည်း လက်မခံသေးပါ၊ ကွမ်းခြံကုန်းFS ဖြင့် လည်ပတ်နေစဉ်အတွင်း ကွန်တိန်နာ၏ လည်ပတ်မှုကို ဆိုင်းငံ့ထားခြင်းကို အကောင်အထည်ဖော်သည့်၊

အားနည်းချက်သည် "docker cp" အမိန့်ကို လုပ်ဆောင်သောအခါတွင် လက်ခံသူစနစ်၏ FS ၏ မတရားသောအပိုင်းသို့ ကွန်တိန်နာတစ်ခုမှ ဖိုင်များကို ထုတ်ယူခွင့်ပြုသည်။ ဖိုင်များကို ထုတ်ယူခြင်းအား root အခွင့်ထူးများဖြင့် လုပ်ဆောင်သည်၊ ၎င်းသည် host ဝန်းကျင်ရှိ မည်သည့်ဖိုင်များကိုမဆို ဖတ်နိုင် သို့မဟုတ် ရေးသားနိုင်စေကာ၊ ၎င်းသည် host စနစ်အား ထိန်းချုပ်ရန် လုံလောက်သည် (ဥပမာ၊ သင်သည် /etc/shadow) ကို ပြန်လည်ရေးသားနိုင်သည်။

ဖိုင်များကို ကွန်တိန်နာသို့ သို့မဟုတ် ကော်ပီကူးရန် အက်ဒမင်သည် "docker cp" အမိန့်ကို လုပ်ဆောင်သည့်အခါမှသာ တိုက်ခိုက်ခြင်းကို လုပ်ဆောင်နိုင်သည်။ ထို့ကြောင့်၊ တိုက်ခိုက်သူသည် ဤလုပ်ဆောင်ချက်ကို လုပ်ဆောင်ရန် လိုအပ်ကြောင်း Docker စီမံခန့်ခွဲသူကို တစ်နည်းနည်းဖြင့် စည်းရုံးပြီး ကူးယူအသုံးပြုသည့် လမ်းကြောင်းကို ခန့်မှန်းရမည်ဖြစ်သည်။ တစ်ဖက်တွင်၊ ဥပမာအားဖြင့်၊ cloud ဝန်ဆောင်မှုများသည် "docker cp" အမိန့်ကို အသုံးပြု၍ တည်ဆောက်ထားသော ကွန်တိန်နာသို့ configuration ဖိုင်များကို ကူးယူခြင်းအတွက် ကိရိယာများ ပံ့ပိုးပေးသောအခါတွင် တိုက်ခိုက်ခြင်းကို လုပ်ဆောင်နိုင်သည်။

အဆိုပါပြဿနာသည် function ကိုအသုံးပြုမှု၏ချို့ယွင်းချက်ကြောင့်ဖြစ်ရသည်။ FollowSymlinkInScopeကွန်တိန်နာ၏တည်နေရာကိုထည့်သွင်းစဉ်းစားသောဆွေမျိုးလမ်းကြောင်းပေါ်အခြေခံ၍ ပင်မ FS ရှိ absolute path ကိုတွက်ချက်သည်။ "docker cp" အမိန့်ကိုလုပ်ဆောင်နေစဉ်ခေတ္တရပ်သည်။ ပြိုင်ပွဲအခြေအနေလမ်းကြောင်းကို စစ်ဆေးပြီးသော်လည်း လည်ပတ်မှု မလုပ်ဆောင်ရသေးပါ။ host စနစ်၏ ပင်မ FS ၏ အကြောင်းအရာတွင် ကူးယူခြင်းကို လုပ်ဆောင်သောကြောင့်၊ သတ်မှတ်ထားသော အချိန်ကာလအတွင်း လင့်ခ်ကို အခြားလမ်းကြောင်းတစ်ခုသို့ အစားထိုးပြီး ကွန်တိန်နာအပြင်ဘက်ရှိ ဖိုင်စနစ်အတွင်း မတရားသောတည်နေရာသို့ ဒေတာကူးယူခြင်းကို စတင်နိုင်သည်။

ပြိုင်ပွဲအခြေအနေကိုယ်နှိုက်က ထုတ်ဖော်ပြသရန် အချိန်ပြတင်းပေါက်သည် ပြင်ဆင်မှုတွင် အလွန်အကန့်အသတ်ရှိသည်။ exploit နမူနာပုံစံ ကွန်တိန်နာတစ်ခုမှ မိတ္တူလုပ်ဆောင်မှုများကို လုပ်ဆောင်သည့်အခါ၊ ကော်ပီလုပ်ဆောင်မှုတွင် အသုံးပြုသည့်လမ်းကြောင်းရှိ သင်္ကေတလင့်ခ်တစ်ခုကို စက်ဝိုင်းပုံစံဖြင့် အစားထိုးခြင်းဖြင့် ကိစ္စများ၏ 1% ထက်နည်းသော အောင်မြင်သောတိုက်ခိုက်မှုကို အောင်မြင်စွာဆောင်ရွက်နိုင်သည် ("docker cp" အမိန့်ဖြင့် ဖိုင်တစ်ခုကို အဆက်မပြတ်ကူးယူရန် 10 စက္ကန့်ခန့်ကြာပြီးနောက် အောင်မြင်သောတိုက်ခိုက်မှုကို လုပ်ဆောင်ခဲ့သည်)။

ကွန်တိန်နာတစ်ခုသို့ မိတ္တူကူးယူဆောင်ရွက်မှုကို လုပ်ဆောင်သည့်အခါ၊ ဖိုင်တစ်ခုကို လက်ခံစနစ်တွင် ထပ်ခါတလဲလဲ အကြိမ်အနည်းငယ်မျှသာ ဖိုင်တစ်ခုကို ထပ်ရေးရန် ထပ်ခါတလဲလဲ တိုက်ခိုက်မှုကို ရရှိနိုင်သည်။ archive.go လုပ်ငန်းစဉ်သည် ကွန်တိန်နာ၏ chroot ၏ chroot မဟုတ်သော်လည်း တိုက်ခိုက်သူထိန်းချုပ်ထားသော ပစ်မှတ်လမ်းကြောင်း၏ ပင်မလမ်းညွှန်၏ chroot သို့ archive.go လုပ်ငန်းစဉ်အရ ဖိုင်ကို ကွန်တိန်နာသို့ကူးယူသည့်အခါတွင် အသုံးပြုရခြင်းမှာ တိုက်ခိုက်ခြင်းဖြစ်နိုင်သောကြောင့် ကွန်တိန်နာ၏လုပ်ဆောင်မှုကို ရပ်တန့်ခြင်းမရှိပါ (chroot ကို exploit ပြုလုပ်ရန် အခြေအနေတစ်ခုအဖြစ် အသုံးပြုသည်)။

source: opennet.ru

မှတ်ချက် Add