Linux Netfilter kernel ခွဲစနစ်ရှိ အားနည်းချက်

သီးခြားကွန်တိန်နာအတွင်းရှိနေစဉ်အပါအဝင်၊ ဒေသအသုံးပြုသူတစ်ဦးအား သီးခြားကွန်တိန်နာအတွင်းရှိနေစဉ်အပါအဝင်၊ စနစ်ပေါ်ရှိ root အခွင့်ထူးများကို ရရှိစေသည့် ကွန်ရက်ပက်ကတ်များကို စစ်ထုတ်ရန်နှင့် ပြင်ဆင်ရန်အသုံးပြုသည့် Linux kernel ၏ခွဲစနစ်တစ်ခုဖြစ်သည့် Netfilter တွင် အားနည်းချက်တစ်ခု (CVE-2021-22555) ကို တွေ့ရှိခဲ့သည်။ KASLR၊ SMAP နှင့် SMEP ကာကွယ်ရေး ယန္တရားများကို ရှောင်လွှဲနိုင်သော အသုံးချမှု၏ ရှေ့ပြေးပုံစံကို စမ်းသပ်ရန်အတွက် ပြင်ဆင်ထားပါသည်။ အားနည်းချက်ကို ရှာဖွေတွေ့ရှိခဲ့သော သုတေသီသည် kCTF အစုအဝေးတစ်ခုရှိ Kubernetes ကွန်တိန်နာများကို သီးခြားခွဲထုတ်သည့်နည်းလမ်းကို ဖော်ထုတ်နိုင်သည့်အတွက် Google ထံမှ ဒေါ်လာ 20 ဆုချီးမြှင့်ခဲ့သည်။

ပြဿနာသည် လွန်ခဲ့သော 2.6.19 နှစ်က ထုတ်ဝေခဲ့သော kernel 15 ကတည်းကဖြစ်ပြီး၊ ၎င်းသည် IPT_SO_SET_REPLACE နှင့် IP6T_SO_SET_REPLACE ကိုင်တွယ်ဖြေရှင်းသည့်မုဒ်တွင် အထူးဖော်မတ်သတ်မှတ်ထားသော ကန့်သတ်ဘောင်များကို ပေးပို့သောအခါတွင် ကြားခံများပြည့်လျှံမှုဖြစ်စေသော ပြဿနာတစ်ခုကြောင့်ဖြစ်သည်။ ပုံမှန်အခြေအနေများတွင်၊ root အသုံးပြုသူမှ compat_setsockopt() သို့ ဖုန်းခေါ်ဆိုနိုင်သော်လည်း တိုက်ခိုက်မှုကိုလုပ်ဆောင်ရန် လိုအပ်သည့်အခွင့်အရေးများကို အသုံးပြုသူအမည်နေရာလွတ်များကို ပံ့ပိုးပေးထားသည့် စနစ်များရှိ အသုံးပြုသူမှ အခွင့်ထူးမခံသောအသုံးပြုသူတစ်ဦးမှလည်း ရရှိနိုင်ပါသည်။

အသုံးပြုသူတစ်ဦးသည် သီးခြား root အသုံးပြုသူနှင့်အတူ ကွန်တိန်နာတစ်ခုကို ဖန်တီးနိုင်ပြီး အားနည်းချက်ကို ထိုနေရာမှ အသုံးချနိုင်သည်။ ဥပမာအားဖြင့်၊ "user namespaces" ကို Ubuntu နှင့် Fedora တွင် ပုံမှန်အားဖြင့် ဖွင့်ထားသော်လည်း Debian နှင့် RHEL တွင် ဖွင့်မထားပါ။ အားနည်းချက်ကို ပြင်ဆင်သည့် patch ကို ဧပြီလ 13 ရက်နေ့တွင် Linux kernel တွင် ထည့်သွင်းခဲ့သည်။ ပက်ကေ့ဂျ်အပ်ဒိတ်များကို Debian၊ Arch Linux နှင့် Fedora ပရောဂျက်များမှ ထုတ်လုပ်ပြီးဖြစ်သည်။ Ubuntu၊ RHEL နှင့် SUSE တွင် အပ်ဒိတ်များ ပြင်ဆင်နေပါသည်။

32-bit မှ 64-bit ကို ကိုယ်စားပြုမှုသို့ ပြောင်းလဲပြီးနောက် kernel တည်ဆောက်ပုံကို သိမ်းဆည်းသောအခါ မမ်မိုရီအရွယ်အစားကို မှားယွင်းစွာ တွက်ချက်ခြင်းကြောင့် xt_compat_target_from_user() လုပ်ဆောင်ချက်တွင် ပြဿနာ ဖြစ်ပေါ်ပါသည်။ ချွတ်ယွင်းချက်သည် 0x4C အော့ဖ်ဆက် XNUMXxXNUMXC ဖြင့် သတ်မှတ်ထားသော ခွဲဝေပေးထားသည့် ကြားခံကြားခံထက် ကျော်လွန်သည့် မည်သည့် အနေအထားသို့မဆို ရေးသားရန် bug ကို ခွင့်ပြုသည်။ ဤအင်္ဂါရပ်သည် တစ်ဦးကို root လုပ်ပိုင်ခွင့်များရရှိစေမည့် exploit တစ်ခုဖန်တီးရန် လုံလောက်သွားသည် - msg_msg ဖွဲ့စည်းပုံရှိ နောက်တစ်ခုညွှန်ပြချက်ကို ရှင်းလင်းခြင်းဖြင့်၊ မှတ်ဉာဏ်ကို လွတ်ပြီးနောက် (အသုံးပြုမှု-အခမဲ့) ပြီးနောက် ဒေတာရယူရန်အတွက် အခြေအနေများကို ဖန်တီးပေးခဲ့သည်။ ထို့နောက် msgsnd() စနစ်ခေါ်ဆိုမှုအား ခြယ်လှယ်ခြင်းဖြင့် လိပ်စာများနှင့် အခြားဖွဲ့စည်းပုံများသို့ ပြောင်းလဲမှုများဆိုင်ရာ အချက်အလက်များကို ရယူရန် အသုံးပြုခဲ့သည်။

source: opennet.ru

မှတ်ချက် Add