نقص لینوکس با قدمت ۷ سال؛ اجازه دسترسی روت در Polkit به کاربران غیرمجاز لینوکس
اخبار داغ فناوری اطلاعات و امنیت شبکه
یک آسیب پذیری افزایش اختیارات به قدمت حدود هفت سال، در سرویس سیستم polkit کشف شده است که می تواند توسط مهاجم محلی خرابکار و غیرمجاز برای دور زدن شناسایی و افزایش اختیارات مجوزها در سطح کاربر اصلی با دسترسی روت، مورد سواستفاده قرار بگیرد.
این اشکال که با عنوان CVE-2021-3560 (نمره CVSS: 7.8) شناخته شده است، بر نسخه های polkit بین 0.113 تا 0.118 تأثیر می گذارد و توسط محقق امنیتی GitHub، کوین بک هاوس کشف شده است. وی بیان کرد که این موضوع در یک تعهد کد ساخته شده در 9 نوامبر 2013 به وجود آمده و درج شده است. رد هت سدریک بویسارت اشاره کرد که توزیع کننده های مبتنی بر Debian و برمبنای polkit 0.105، نیز آسیب پذیر هستند.
پولکیت یا Polkit (ریشه یافته از PolicyKit) مجموعه ای برای تعریف و مدیریت مجوزها در توزیع های لینوکس است و برای ارتباط پردازش های غیرمجاز با فرایندهای مجاز و صاحب امتیاز استفاده می شود.
رد هت در یک توصیه امنیتی گفته است: "هنگامی که یک فرآیند درخواست دقیقاً قبل از شروع تماس با polkit_system_bus_name_get_creds_sync از dbus-daemon قطع می شود، فرآیند نمی تواند uid و pid منحصر به فرایند را دریافت کند و و به طبع آن نمی تواند امتیازات پروسه درخواستی را تأیید نماید. بزرگترین تهدید ناشی از این آسیب پذیری، محرمانه بودن و یکپارچگی داده ها و همچنین در دسترس بودن سیستم است".
برخی از توزیع های محبوب لینوکس مانند RHEL 8 ،Fedora 21 (یا نسخه های قبلتر)، Debian "Bullseye" و اوبونتو 20.04، تحت تأثیر آسیب پذیری polkit قرار دارند. این مسئله در نسخه 0.119 که در 3 ماه ژوئن منتشر شده، کاهش یافته است.
بک هاوس در مقاله ای که دیروز منتشر شد، افزود: "این آسیب پذیری به طرز شگفت انگیزی و ساده ای قابل سواستفاده است. تمام آنچه که لازم است فقط چند دستور در ترمینال است که فقط از ابزارهای استاندارد مانند bash، kill و dbus-send استفاده می کند". دستور dbus-send (به مثال برای ایجاد کاربر جدید) ارسال میشود، اما فرآیند در حالی که polkit هنوز در اواسط پردازش درخواست است، خاتمه داده میشود.
دستور "dbus-send" یک مکانیسم ارتباط بین پردازشی لینوکس (IPC) است که برای ارسال پیام به گذرگاه پیام D-Bus استفاده می شود و امکان برقراری ارتباط بین چندین فرآیند را به طور همزمان در همان دستگاه فراهم می کند. فرایند پس زمینه شناسه پالیسی Polkit به عنوان سرویس متصل به گذرگاه سیستم برای احراز هویت ایمن اعتبارنامه ها اجرا می شود.
هنگامی که دستور از بین برده شود، این امر باعث بایپس احراز هویت می شود زیرا polkit پیام خاتمه یافته را به شکل غلط مدیریت می کند و تصور میکند که پیام ظاهرا با عبور از روند امتیازات روت (UID 0) آمده است، در نتیجه بلادرنگ درخواست را تأیید می کند.
بک هاوس گفت: "برای ایجاد این مسیر کد نویسی آسیب پذیر، باید در لحظه مناسب اتصال خود را قطع كنید؛ و از آنجا که چندین فرآیند در لحظه درگیر هستند، زمان آن «لحظه مناسب»، از یک فرایند به مرحله بعدی متفاوت است. به همین دلیل معمولاً چند تلاش پیاپی لازم است تا نفوذ موفقیت آمیز حاصل بشود. حدس من این است که این مسئله، دلیل این اشکال نیز باشد که پیش از این کشف نشده بوده است".
به کاربران لینوکس، به جد توصیه میشود که در اسرع وقت نسبت به نصب بروزرسانی لینوکس خود اقدام نموده تا خطرات احتمالی ناشی از این نقص را برطرف نمایند.
برچسب ها: روت, IPC, Fedora, RHEL, Debian, Polkit, Linux, لینوکس, اوبونتو, Ubuntu, cybersecurity, Github, گیت هاب, امنیت سایبری, Cyber Attacks, حمله سایبری