سه آسیبپذیری جدید در runtime کانتینر runC که در Docker و Kubernetes استفاده میشود، اخیراً افشا شدهاند. این آسیبپذیریها میتوانند برای عبور از محدودیتهای ایزولاسیون و دسترسی به سیستم میزبان مورد سوءاستفاده قرار گیرند.
آسیبپذیریها به ترتیب با شناسههای CVE-2025-31133، CVE-2025-52565، و CVE-2025-52881 ثبت شدهاند و توسط Aleksa Sarai، مهندس SUSE و عضو هیئت Open Container Initiative (OCI)، گزارش شده است.
runC یک runtime عمومی کانتینر و مرجع پیادهسازی OCI برای اجرای کانتینرهاست. وظایف آن شامل ایجاد پردازه کانتینر، تنظیم namespaceها، mountها و cgroupها است که ابزارهای سطح بالاتر مانند Docker و Kubernetes از آن استفاده میکنند.
توضیح آسیبپذیریها:
CVE-2025-31133: ابزار runC از bind-mountهای /dev/null برای مخفی کردن فایلهای حساس میزبان استفاده میکند. اگر مهاجم هنگام init کانتینر /dev/null را با یک symlink جایگزین کند، runC ممکن است یک مسیر تحت کنترل مهاجم را bind-mount کند و دسترسی نوشتنی به /proc ایجاد کند، که امکان فرار از کانتینر را فراهم میکند.
CVE-2025-52565: ویژگی mount مربوط به /dev/console میتواند با استفاده از شرایط race یا symlink به مسیر دلخواه مهاجم هدایت شود و دسترسی نوشتنی به فایلهای حساس فراهم کند.
CVE-2025-52881: ابزار runC میتواند فریب داده شود تا نوشتنها روی /proc را به مسیرهای تحت کنترل مهاجم هدایت کند و با دور زدن برخی از محافظتهای LSM، نوشتنهای معمولی را به نوشتنهای خطرناک مانند
/proc/sysrq-triggerتبدیل کند.
نسخههای آسیبپذیر runC تمامی نسخهها برای CVE-2025-31133 و CVE-2025-52881 و نسخههای 1.0.0-rc3 و بالاتر برای CVE-2025-52565 هستند. نسخههای 1.2.8، 1.3.3، 1.4.0-rc.3 و بالاتر شامل رفع این مشکلات هستند.
ریسک و قابلیت سوءاستفاده از آسیب پذیری ها
مطالعات Sysdig نشان میدهد که سوءاستفاده از این آسیبپذیریها نیازمند امکان اجرای کانتینر با پیکربندی mount سفارشی است، که مهاجم میتواند از طریق Dockerfile یا تصاویر مخرب به آن دست پیدا کند. تاکنون گزارشی از سوءاستفاده فعال در دنیای واقعی ارائه نشده است.
راهکارها و توصیهها
نظارت بر رفتارهای مشکوک symlink برای تشخیص تلاشهای سوءاستفاده
فعال کردن user namespaces برای تمامی کانتینرها بدون نگاشت root میزبان به namespace کانتینر
استفاده از کانتینرهای rootless برای کاهش خطر
بهروزرسانی runC به نسخههای اصلاحشده
با اعمال این اقدامات میتوان بخش عمده حمله را متوقف کرد و از آسیبهای احتمالی جلوگیری نمود.
خلاصه مدیریتی Vulnerbyte برای مدیران و کاربران حرفهای
سه آسیبپذیری حیاتی در runC که در Docker و Kubernetes استفاده میشود، امکان فرار از کانتینرها و دسترسی به میزبان را فراهم میکنند. سوءاستفاده از آنها نیازمند اجرای کانتینر با پیکربندی سفارشی است و تاکنون هیچ گزارش حمله واقعی منتشر نشده است. توصیه میشود تمامی کانتینرها به نسخههای patched runC ارتقا داده شوند، user namespaces فعال گردد و در صورت امکان از کانتینرهای rootless استفاده شود. نظارت بر رفتارهای غیرمعمول symlink نیز میتواند به تشخیص تلاشهای حمله کمک کند.