لینکس نیٹ فلٹر کرنل سب سسٹم میں کمزوری۔

نیٹ فلٹر میں ایک کمزوری (CVE-2021-22555) کی نشاندہی کی گئی ہے، جو کہ لینکس کرنل کا ایک ذیلی نظام ہے جو نیٹ ورک پیکٹ کو فلٹر کرنے اور اس میں ترمیم کرنے کے لیے استعمال ہوتا ہے، جو ایک مقامی صارف کو سسٹم پر روٹ مراعات حاصل کرنے کی اجازت دیتا ہے، بشمول الگ تھلگ کنٹینر میں رہتے ہوئے۔ KASLR، SMAP اور SMEP تحفظ کے میکانزم کو نظرانداز کرنے والے استحصال کا ایک ورکنگ پروٹو ٹائپ جانچ کے لیے تیار کیا گیا ہے۔ اس خطرے کو دریافت کرنے والے محقق کو kCTF کلسٹر میں Kubernetes کنٹینرز کی تنہائی کو نظرانداز کرنے کے طریقے کی نشاندہی کرنے پر Google کی طرف سے $20 کا انعام ملا۔

یہ مسئلہ کرنل 2.6.19 کے بعد سے ہے، جو 15 سال پہلے جاری کیا گیا تھا، اور IPT_SO_SET_REPLACE اور IP6T_SO_SET_REPLACE ہینڈلرز میں ایک بگ کی وجہ سے ہے جو کمپیٹ موڈ میں سیٹساکپٹ کال کے ذریعے خصوصی طور پر فارمیٹ شدہ پیرامیٹرز بھیجنے پر بفر اوور فلو کا سبب بنتا ہے۔ عام حالات میں، صرف روٹ صارف ہی compat_setsockopt() پر کال کر سکتا ہے، لیکن حملے کو انجام دینے کے لیے درکار مراعات ایک غیر مراعات یافتہ صارف کے ذریعے ایسے سسٹمز پر بھی حاصل کیے جا سکتے ہیں جن میں صارف کے نام کی جگہوں کو فعال کیا گیا ہو۔

صارف ایک علیحدہ جڑ صارف کے ساتھ ایک کنٹینر بنا سکتا ہے اور وہاں سے کمزوری کا فائدہ اٹھا سکتا ہے۔ مثال کے طور پر، Ubuntu اور Fedora پر "user namespaces" بطور ڈیفالٹ فعال ہے، لیکن Debian اور RHEL پر فعال نہیں ہے۔ کمزوری کو ٹھیک کرنے والے پیچ کو 13 اپریل کو لینکس کرنل میں اپنایا گیا تھا۔ ڈیبیان، آرک لینکس اور فیڈورا پروجیکٹس کے ذریعے پیکیج اپ ڈیٹس پہلے ہی تیار کیے جا چکے ہیں۔ Ubuntu، RHEL اور SUSE میں، اپ ڈیٹس کی تیاری جاری ہے۔

xt_compat_target_from_user() فنکشن میں 32-bit سے 64-bit نمائندگی میں تبدیلی کے بعد کرنل ڈھانچے کو محفوظ کرتے وقت میموری سائز کے غلط حساب کتاب کی وجہ سے مسئلہ پیدا ہوتا ہے۔ بگ چار null بائٹس کو آفسیٹ 0x4C کے پابند مختص بفر سے آگے کسی بھی پوزیشن پر لکھنے کی اجازت دیتا ہے۔ یہ خصوصیت ایک استحصال پیدا کرنے کے لیے کافی نکلی جس نے کسی کو جڑ کے حقوق حاصل کرنے کی اجازت دی - msg_msg ڈھانچے میں m_list->اگلے پوائنٹر کو صاف کرکے، میموری کو آزاد کرنے کے بعد ڈیٹا تک رسائی کے لیے حالات پیدا کیے گئے (استعمال کے بعد مفت)، جو اس کے بعد msgsnd() سسٹم کال کی ہیرا پھیری کے ذریعے پتوں اور دیگر ڈھانچے میں تبدیلیوں کے بارے میں معلومات حاصل کرنے کے لیے استعمال کیا جاتا تھا۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں