اشکال جدی ارتقای سطح دسترسی لینوکس که 12 سال پنهان مانده بود!
آسیبپذیری PwnKit به کاربران غیرمجاز اجازه دسترسی Route میدهد.محققان امنیتی یک اشکال افزایش سطح دسترسی محلی را در برخی نسخههای لینوکس پیدا کردهاند که به کاربر غیرمجاز اجازه میدهد تا کدی را با دسترسی روت یک اَبَرکاربر با دسترسی بالا اجرا کند و به آنها امکان دسترسی به کل سیستم را میدهد.
شرکت امنیتی کوالیس (Qualys) باگ را PwnKit نامیده و گفته polkit یا PolicyKit در ماه می 2009، یعنی 12 سال پیش معرفی شده است.
کوالیس گفته که این آسیبپذیری که در دستور pkexec polkit نهفته دارای باگ در کد بوده و به مهاجمان اجازه میدهد برای معرفی متغیرهای محیطی ناامن، نوشتنهای خارج از محدوده (out-of-bounds writes ) انجام دهند. با وجود اینکه محققان کد اثبات مفهوم را برای PwnKit منتشر نکردهاند، ولی اظهار داشتهاند که «با توجه به اینکه استفاده از این آسیبپذیری آسان است، پیشبینی میشود که سوءاستفادههای عمومی از آن ظرف چند روز در دسترس قرار گیرند».
در این بین iTnews اشاره کرده است که کدهای اثبات مفهومی این آسیبپذیری بر روی صفحات وب پست شده و در دسترس عموم قرار دارند.
نسخههای Ubuntu، Debian، Fedora و CentOS Linux توسط محققان امنیتی کوالیس به عنوان نسخههای آسیبپذیر لینوکس در برابر این آسیبپذیری تأیید شدهاند. هرچند این احتمال وجود دارد که سایر نسخههای لینوکس نیز آسیبپذیر باشند.
در 18 نوامبر سال گذشته کوالیس این آسیبپذیری را به شرکت رد هت (Red Hat)گزارش کرده است و اکنون وصلهها در دسترس هستند. بهعنوان رفع عیب موقت، امکان حذف بیت SUID از برنامه pkexec با chmod 0755 نیز وجود دارد.
در حالی که polkit از سیستمعاملهای مشابه یونیکس مانند Solaris و توزیعهای مختلف BSD و همچنین لینوکس پشتیبانی میکند اما متخصصان کوالیس اظهار داشتهاند که بررسی دقیقی نسبت به اینکه آیا این آسیبپذیری در آنها نیز وجود دارد، انجام ندادهاند.
سیستم عامل OpenBSD که یک سیستم عامل مبتنی بر امنیت و صحت کد است به سادگی قابل سوء استفاده نیست، زیرا execve() syscall که در کرنل آن وجود دارد از اجرای برنامههای با تعداد argc صفر[1] جلوگیری میکند.
در مورد Polkit در ماههای اخیر باگهای ارتقای دسترسی ممتاز دیگری نیز گزارش شده است که امکان اجرای کد در قسمت Root را به کاربران میدهد.
در ماه ژوئن سال گذشته، محقق امنیتی آقای کوین بکهاوس در یک پست منتشر شده در وبلاگ خود در مورد یک باگ با عمر 7 ساله در Polkit نوشته است که در این باگ به سادگی در همکاری با دیگر ابزارهای کمکی سیستم قابل سوءاستفاده خواهد بود.
محققان کوالیس، تنها افرادی نیستند که با PwnKit مواجه شدهاند؛ چراکه محقق دیگری به نام رایان مالون در سال 2013 نیز همین باگ را شناسایی کرده و بهطور عمومی گزارش کرده بود. وی حتی وصلهای امنیتی برای رفع آن نوشته و منتشر کرده بود؛ هرچند در نهایت موفق نشد روشی برای جلوگیری از سوءاستفاده از این آسیبپذیری ارائه کند. در ماه ژوئن گذشته نیز، کوین بکهاوس، محقق امنیتی گیتهاب، یک آسیبپذیری دیگر برای افزایش سطح دسترسی در لینوکس گزارش کرد. نام ردیابی این باگ CVE-2021-3560 است.
پس از شناسایی کامل و اعلان عمومی وجود این باگ امنیتی، توزیعکنندگان اصلی لینوکس وصلههایی برای این آسیبپذیری منتشر و متخصصان امنیتی نیز بهطور جدی از مدیران درخواست کردهاند که نصب این وصله را در اولویت قرار دهند.
منابع
https://www.itnews.com.au/news/serious-linux-privilege-escalation-bug-lay-hidden-for-12-years-575115
پینوشت
[1] Zero argc count


