یک آسیبپذیری حیاتی (CVE-2022-0811) در CRI-O شناسایی شده است، یک زمان اجرا برای مدیریت کانتینرهای ایزوله، که به شما امکان میدهد جداسازی را دور بزنید و کد خود را در سمت سیستم میزبان اجرا کنید. اگر از CRI-O به جای Containerd و Docker برای اجرای کانتینرهایی که تحت پلتفرم Kubernetes هستند استفاده شود، مهاجم می تواند کنترل هر گره در خوشه Kubernetes را به دست آورد. برای انجام یک حمله، فقط حقوق کافی برای اجرای کانتینر خود در خوشه Kubernetes دارید.
این آسیبپذیری به دلیل امکان تغییر پارامتر کرنل sysctl «kernel.core_pattern» («/proc/sys/kernel/core_pattern») ایجاد میشود که دسترسی به آن مسدود نشد، علیرغم این واقعیت که در بین پارامترهای امن نیست. تغییر، فقط در فضای نام ظرف فعلی معتبر است. با استفاده از این پارامتر، یک کاربر از یک کانتینر میتواند رفتار هسته لینوکس را با توجه به پردازش فایلهای هسته در کنار محیط میزبان تغییر دهد و با تعیین کنترلکنندهای مانند راهاندازی یک فرمان دلخواه با حقوق ریشه در سمت میزبان را سازماندهی کند. "|/bin/sh -c 'commands'".
این مشکل از زمان انتشار CRI-O 1.19.0 وجود داشت و در به روز رسانی های 1.19.6، 1.20.7، 1.21.6، 1.22.3، 1.23.2 و 1.24.0 رفع شد. در بین توزیعها، مشکل در پلتفرم کانتینر OpenShift Red Hat و محصولات openSUSE/SUSE ظاهر میشود که بسته cri-o را در مخازن خود دارند.
منبع: opennet.ru