باگی بهمدت ۱۲ سال در اکثر توزیعهای لینوکس، دسترسی روت را به مهاجمان ارائه میدهد
چند روز قبل، کاربران لینوکس خبر بدی دریافت کردند؛ زیرا آسیبپذیری ۱۲ سالهای در ابزار سیستمی موسوم به Polkit به مهاجمان اجازه میدهد بدون محدودیت به روت سیستمهایی دسترسی داشته باشند که اکثر توزیعهای اصلی سیستمعامل متنباز را اجرا میکنند.
بهگزارش Arstechnica، ابزار Polkit که قبلا با نام PolicyKit شناخته میشد، امکان مدیریت امتیازات کل سیستم را سیستمعاملهای یونیکس و مکانیزمی برای فرایندهای غیرمجاز بهمنظور تعامل ایمن با فرایندهای مجاز فراهم میکند. همچنین، این ابزار به کاربران اجازه میدهد با استفاده از کامپوننتی بهنام pkexec، دستورهای کاربر سطح روت را اجرا کنند.
لینوکس مثل بسیاری از سیستمعاملها سلسلهمراتبی از سطوح مجوز را ارائه میدهد که هرکدام از این سطوح تعیین میکند چه زمانی و چه برنامهها یا کاربرانی میتوانند با منابع حساس سیستم تعامل کنند. این طراحی برای محدودکردن آسیبهایی است که امکان دارد درصورت بیاعتمادی به کاربر بهمنظور کنترل مدیریت شبکه یا جلوگیری از اجرای برنامههای مخرب اجرا شود.
pkexec از سال ۲۰۰۹ حاوی آسیبپذیری تخریب حافظه است که افراد میتوانند با کنترل محدود ماشین آسیبپذیر از آن برای افزایش امتیاز دسترسی تا سطح روت استفاده کنند. بهرهبرداری از این نقص امری بیاهمیت است و براساس برخی گزارشها، میتوان تا کاملاً به آن اعتماد کرد.
مهاجمانی که ازقبل روی ماشین آسیبپذیر از نگهدارنده استفاده کردهاند، میتوانند از این باگ سوءاستفاده کنند و مطمئن شوند که دستوری با بیشترین سطح دسترسی موجود روی سیستم اجرا شود. محققان این آسیبپذیری را PwnKit نامیدهاند و حتی اگر Polkit در حال اجرا نباشد، امکان استفاده از آن همچنان فراهم خواهد بود.
محققان شرکت امنیتی Qualys ماه نوامبر PwnKit را کشف و سهشنبهی هفتهی قبل، آن را پس از اصلاح در اکثر توزیعهای لینوکسی فاش کردند. این آسیبپذیری بهعنوان CVE-2021-4034 ردیابی میشود.
بهارات جوگی، مدیر تحقیقات تهدید آسیبپذیری Qualys در ایمیلی نوشت:
محتملترین سناریو حمله از تهدیدی داخلی است که کاربر مخرب در آن میتواند بدون هیچ امتیازی به امتیازات ریشهی کامل دست یابد. از منظر تهدید خارجی، اگر مهاجمی توانسته باشد ازقبل با آسیبپذیری دیگر یا نقض رمزعبور وارد سیستم شده باشد، آن مهاجم میتواند ازطریق PwnKit به امتیاز ریشهی کامل دسترسی پیدا کند.
جوگی گفت که اکسپلویتها به دسترسی تأییدشدهی محلی به سیستم آسیبپذیر نیاز دارند و نمیتوانند بدون این احراز هویت ازراهدور اجرا شوند.
آسیبپذیری PwnKit
Qualys درحالحاضر بهدلیل نگرانی از اینکه آسیبپذیری یادشده برای هکرهای کلاهسیاه مفیدتر است تا مدافعان، کد سوءاستفاده از آن را منتشر نکرده است؛ البته کد PoC را منبع دیگری منتشر کرده است.
بویان زدرنجا، آزمایشکنندهی نفوذ در SANS نوشت:
انتظار داریم که این اکسپلویت بهزودی بهطور عمومی منتشر شود و پسازآن، شاهد سوءاستفادهی مهاجمان از آن خواهیم بود. این آسیبپذیری بهویژه برای هر سیستم چندکاربرهای خطرناک است که به افراد اجازهی دسترسی داده است.
زدرنجا اعلام کرده است که با موفقیت اکسپلویتی را بازسازی کرده که روی سیستمی با توزیع اوبونتو ۱۰٫۰۴ اجرا شده و بهدرستی کار کرده است.
محققان Qualys، تنها افرادی نیستند که با PwnKit مواجه شدهاند؛ چراکه محقق دیگری به نام رایان مالون در سال ۲۰۱۳ همین باگ را بهطور عمومی گزارش کرد و حتی وصلهای امنیتی برای رفع آن نوشت؛ اگرچه درنهایت موفق نشد روشی برای جلوگیری سوءاستفاده از این آسیبپذیری پیدا کند. ژوئن گذشته نیز، کوین بکهاوس، محقق امنیتی گیتهاب، آسیبپذیریای برای افزایش سطح دسترسی در لینوکس گزارش کرد. نام ردیابی این باگ CVE-2021-3560 است.
توزیعکنندگان اصلی لینوکس وصلههایی برای این آسیبپذیری منتشر و متخصصان امنیتی نیز بهطور جدی از مدیران درخواست کردهاند که نصب این وصله را در اولویت قرار دهند. افرادی که نمیتوانند وصلهی امنیتی اشارهشده را فوراً نصب کنند، باید از دستور chmod 0755 /usr/bin/pkexe برای حذف بیت SUID از Pkexec بهره ببرند؛ اقدامی که از اجرای این ابزار بهعنوان کاربر روت بهوسیلهی کاربر غیرمجاز جلوگیری میکند.
افرادی که تمایل دارند بدانند آیا از آسیبپذیری PwnKit در سیستمهایشان سوءاستفاده شده است یا خیر، میتوانند ورودیهای گزارشی را بررسی کنند که اعلام میکند «مقدار متغیر SHELL در فایل /etc/shells یافت نشد» یا «مقدار برای متغیر محلی [...] حاوی [...] محتوای مشکوک است». بااینحال، Qualys به کاربران هشدار داد که امکان استفاده از این باگ بدون جاگذاشتن هیچ ردی امکانپذیر است.