باگ کرنل لینوکس و فرار کانتینرها با امکان افزایش اختیار
اخبار داغ فناوری اطلاعات و امنیت شبکه
یک اشکال فراموش شده به مهاجمان غیرمجاز اجازه میدهد تا از کانتینرها عبور کنند و دستورات دلخواه را در کرنل اجرا نمایند.
در راستای آشکار شدن باگ امنیتی لینوکس «Dirty Pipe»، دو محقق از هوآوی (Yiqi Sun و Kevin Wang) یک آسیبپذیری را در ویژگی «گروههای کنترل» کرنل لینوکس کشف کردهاند که به مهاجمان اجازه میدهد از کانتینرها فرار کنند و اختیارات و امکان اجرای دستورات دلخواه در یک ماشین میزبان تشدید شود.
اشکال (CVE-۲۰۲۲-۰۴۹۲) در ویژگی "cgroup_release_agent_write" کرنل لینوکس وجود دارد که در تابع "kernel/cgroup/cgroup-v1.c" یافت میشود.
طبق توصیهای از پایگاه داده آسیبپذیری ملی NIST، که هنوز امتیاز CVSS را برای این اشکال گزارش نکرده است، «این نقص، تحت شرایط خاص، به استفاده از ویژگی cgroups v1 release_agent اجازه میدهد تا اختیارات را افزایش دهد و جداسازی ایزوله namespace را بهطور غیرمنتظرهای دور بزند». محققان دریافتند که این امکان فرار کانتینر را در محیطهای Kubernetes (یعنی امکان دسترسی به کانتینرهای دیگر کاربران در محیطهای ابری عمومی) فراهم میکند.
شیتا خار، مدیر ارشد بازاریابی محصول Delinea، در یکایمیل نوشت: «اگرچه کانتینرها درجه بالاتری از امنیت را ارائه میدهند، حوادث اخیر نشان داده است که کانتینرها اغلب از طریق چنین آسیبپذیریهایی مورد سواستفاده قرار میگیرند».
کاربران غیرمجاز میتوانند عملیات افزایش اختیار را انجام دهند
گروههای کنترل لینوکس یا "cgroups" به مدیران سیستم اجازه میدهد تا منابع محاسباتی مانند حافظه، پهنای باند و غیره را بین هر فرآیندی که ممکن است روی یک سیستم اجرا شود، اختصاص دهند. به نقل از Red Hat (یکی از مشارکتکنندگان اصلی کرنل لینوکس) cgroupها امکان «کنترل دقیق بر تخصیص، اولویتبندی، انکار، مدیریت و نظارت بر منابع سیستم را دارند». بنابراین، cgroupها ابزار قدرتمندی برای کنترل و امنیت یک سیستم هستند.
لامز به ذکر است که دو نوع معماری cgroups وجود دارد (به نامهای v1 و v2) و CVE-۲۰۲۲-۰۴۹۲ فقط روی v1 تأثیر میگذارد.
به گفته محققان Palo Alto Networks، که تجزیه و تحلیل و پچ خود را برای این مشکل نوشتند، "لینوکس به سادگی بررسی نکرد که فرآیند تنظیم فایل release_agent دارای اختیارات ادمینی باشد (یعنی قابلیت CAP_SYS_ADMIN).
آنها افزودند که فایل release_agent "به ادمینها اجازه میدهد تا یک برنامه "release agent" را پیکربندی کنند که پس از پایان فرآیند در cgroup اجرا شود. بنابراین، مهاجمانی که قادر به نوشتن در فایل release_agent هستند میتوانند از آن برای به دست آوردن اختیارات مدیریت کامل سواستفاده کنند.
در ۴ فوریه، یک محقق امنیتی گزارش داد که این اشکال با الزام به "قابلیتهای تنظیم release_agent" برطرف شده است.
طبق اعلان گیتهاب، «cgroup release_agent با «call_usermodehelper» فراخوانی میشود. تابع call_usermodehelper در واقع release_agent را با مجموعهای کامل از قابلیتها شروع میکند. بنابراین، هنگام تنظیم release_agent به قابلیتهایی نیاز دارید».
یک نقص در cgroupها ممکن است توجه خاصی را به خود جلب کند، زیرا، خار خاطرنشان کرد: «در اکثر سازمانها، میکروسرویسها و کانتینرها هنوز تحت برنامه امنیتی سازمانی نیستند».
او افزود: «فعال کردن مدیریت اختیارات گرانولار در پلتفرم کانتینر و لایههای سیستم عامل کانتینر در محیطهای توسعه» میتواند به کاهش چنین آسیبپذیریهایی، حتی قبل از اینکه به طور گسترده شناخته شود، کمک کند. در نهایت، مهمتر از هر چیزی، پچ مهمترین مسأله است.
یک سری از جدیدترین باگهای کرنل
از آنجایی که کرنل در هسته سیستم عامل رایانه قرار دارد، آسیبپذیریهای امنیتی که ممکن است از آن ناشی شوند، بسیار جدی هستند. برای مثال، در اواخر سال گذشته، یک باگ سرریز هیپ بحرانی امکان اجرای کد از راه دور و تصاحب کامل دستگاههای لینوکس را ارائه کرد. این مورد توسط NIST NVD، با امتیاز CVSS 9.8 از 10، بسیار مهم و پرخطر ارزیابی شد.
تعداد دیگری از آسیبپذیریها در کرنل تنها در چند ماه گذشته کشف شدهاند.
ماه فوریه، نقص CVE-۲۰۲۲-۰۱۸۵ را با خود به همراه داشت، یک «نقص سرریز مبتنی بر heap» با «روشی که عملکرد legacy_parse_param در عملکرد Filesystem Context کرنل لینوکس، طول پارامترهای ارائهشده را تأیید کرد». مانند CVE-۲۰۲۲-۰۴۹۲، این نقص امکان افزایش غیرمجاز اختیار را از خود نشان میداد.
اخیراً (در واقع همین دوشنبه) یک محقق جزئیات CVE-۲۰۲۲-۰۸۴۷ (معروف به "Dirty Pipe") را منتشر کرد، که به فرآیندهای غیرمجاز اجازه میدهد کد را به فرآیندهای روت تزریق کنند، بنابراین دادهها را در فایلهای read-only دلخواه بازنویسی میکنند و باعث هموار کردن راه برای افزایش اختیا و اجرای کد دلخواه میشوند.
پل زیمسکی، معاون استراتژی محصول در Automox، در یک ایمیل گفت: «با توجه به رواج لینوکس در زیرساختهای بسیار حساس، این آسیبپذیری بسیار مهمی است که باید کنترل شود». به شدت توصیه میشود که مدیران IT و SecOpها برای کاهش ریسک سازمانی، اصلاح و رفع این آسیبپذیری را در ۲۴ ساعت آینده در اولویت خود قرار دهند.
برچسب ها: تابع, Overflow, سرریز, SecOp, اختیار, Linux Kernel, کرنل لینوکس, Filesystem Context, legacy_parse_param, سیستم عامل, میکروسرویس, call_usermodehelper, release agent, release_agent, Dirty Pipe, cgroup, کرنل, Function, kernel, Kubernetes, Container, کانتینر, Heap, روت, privileges, Linux, لینوکس, Red Hat, باگ, آسیبپذیری, Vulnerability, Cyber Security, امنیت سایبری, Cyber Attacks, حمله سایبری