چهار آسیب پذیری که در مجموع Leaky Vessels نامیده می شوند به مهاجم امکان دور زدن Containerها و دسترسی به داده ها روی سیستم عامل میزبان را میدهد.
هنوز اثری از اکسپلویت فعال از این آسیب پذیری ها دیده نشده اما با توجه به اینکه به صورت عمومی افشا شده است، امکان اکسپلویت از آنها بالاست، بنابراین لازم است در تمامی سیستم های در معرض خطر، آپدیت های امنیتی در دسترس دانلود و نصب شود.
Containerها اپلیکیشن هایی هستند در یک فایل قرار گرفته اند و شامل تمامی وابستگی های زمان اجرا، کدهای اجرایی و کدهای لازم برای اجرای اپلیکیشن می باشد. این Containerها توسط پلتفرمهایی نظیر Docker و Kubernetes به کار گرفته می شود که اپلیکیشن را در یک محیط مجازی ایزوله از سیستم عامل اجرا می کند. دور زدن Container زمانی رخ می دهد که یک مهاجم یا اپلیکیشن مخرب محیط ایزوله Container را شکسته و دسترسی احراز هویت نشده به سیستم میزبان یا سایر Container را به دست آورد.
محققین تیم Snyk این چهار آسیب پذیری را بنام Leaky Vessels شناسایی کرده که ساختار runc و Buildkit container را تحت تاثیر قرار میدهند و به صورت بالقوه مهاجم می تواند در محصولات نرم افزاری مختلف container را دور بزند.
Runc و Builkit در رنج وسیعی از نرم افزارهای مدیریت container محبوب مثل Docker و Kubernetes به کار گرفته می شود و همین موضوع خطرناک است.
آسیب پذیری های مذکور به شرح زیر می باشند:
CVE-2024-21626: اشکال ناشی از نقص ترتیب عملیات با دستور WORKDIR در runc. این نقض به مهاجمان اجازه می دهد تا از محیط ایزوله container فرار کنند، به سیستم عامل میزبان دسترسی غیرمجاز می دهد و به طور بالقوه کل سیستم را به خطر می اندازد.
CVE-2024-23651: یک نقض در مدیریت حافظه پنهان Buildkit که منجر به رفتار غیرقابل پیشبینی میشود و به طور بالقوه به مهاجم اجازه میدهد تا فرآیند را برای دسترسی غیرمجاز دستکاری کند یا در عملیات معمولی container اختلال ایجاد کند.
CVE-2024-23652: نقصی که امکان حذف دلخواه فایلها یا دایرکتوری ها را در مرحله حذف container Buildkit فراهم میکند که ممکن است منجر به DoS، نقض داده ها یا دستکاری غیرمجاز داده شود.
CVE-2024-23653: این آسیب پذیری ناشی از بررسیهای ناقص امتیاز در رابط GRPC Buildkit است. این نقص می تواند به مهاجمان اجازه دهد تا اقداماتی فراتر از مجوزهای خود انجام دهند که منجر به افزایش امتیازات یا دسترسی غیرمجاز به داده های حساس شود.
تاثیر و اصلاحیه
Runc و Builkit در رنج وسیعی از نرم افزارهای مدیریت container محبوب مثل Docker و Kubernetes و توزیع های مختلف لینوکس به کار گرفته می شود.
به همین دلیل، اصلاح آسیبپذیریهای مذکور شامل اقدامات هماهنگ میان تیم تحقیقاتی امنیتی در Snyk، نگه دارندگان کامپوننت آسیبدیده (runc و BuildKit) و جامعه زیرساخت Container بوده است. در 31 ژانویه 2024 Buildkit این آسیب پذیری ها را در نسخه 0.12.5 و runc در نسخه 1.1.12 رفع نموده اند.
Docker با انتشار نسخه 4.27.0، کامپوننتهای امن را با موتور Moby خود ترکیب کرد.
سرویس وب آمازون، google cloud و Ubuntu نیز بخشنامه های امنیتی خود را منتشر کردند که در آن مراحل رفع مشکل در نرم افزارهای خود را به کاربران اعلام نموده اند.