جزئیاتی در مورد نقص با شدت بالا در Kubernetes منتشر شده است که میتواند به مهاجمان اجازه دهد تحت شرایط خاص به اجرای کد از راه دور با دسترسی بالا دست یابد.
تومر پلد، محقق امنیتی Akamai گفت: « آسیبپذیری Kubernetes امکان اجرای کد از راه دور با دسترسی SYSTEM را در تمام نقاط انتهایی ویندوز در یک کلاستر Kubernetes میدهد. “برای سوء استفاده از این آسیب پذیری، مهاجم باید فایلهای مخرب YAML را روی کلاستر اعمال کند.”
این نقص که بهعنوان CVE-2023-5528 شناخته میشود (امتیاز CVSS: 7.2)، تمام نسخههای kubelet، از جمله و بعد از نسخه 1.8.0 را تحت تأثیر قرار میدهد. به عنوان بخشی از بهروزرسانیهای منتشر شده در ۱۴ نوامبر ۲۰۲۳، در نسخههای زیر نشان داده شده:
- kubelet v1.28.4
- kubelet v1.27.8
- kubelet v1.26.11
- kubelet v1.25.16
توسعهدهندههای Kubernetes در توصیهای که در آن زمان منتشر شد، گفتند: «یک مشکل امنیتی در Kubernetes کشف شد که در آن کاربری که میتواند پادها و PersistentVolume را در نودهای ویندوز ایجاد کند، ممکن است بتواند به امتیازات مدیریت در آن گرهها دسترسی پیدا کند – افزایش سطح دسترسی. “کلاسترهای Kubernetes تنها زمانی تحت تاثیر قرار می گیرند که از یک افزونه ذخیره سازی in-tree برای نودهای ویندوز استفاده کنند.”
بهره برداری موفقیت آمیز از آسیبپذیری Kubernetes میتواند منجر به کنترل کامل تمام نودهای ویندوز در یک کلاستر شود.
این مشکل با استفاده از “فراخوانی ناامن فانکشن و عدم بررسی ورودی کاربر” ناشی میشود و به ویژگی به نام ولومهای Kubernetes مربوط میشود. بهویژه استفاده از یک نوع volume معروف به local volumes که به کاربران اجازه میدهد پارتیشن دیسک را با تعیین یا ایجاد یک PersistentVolume در یک pod نصب کنند.
Peled توضیح داد: “در حین ایجاد یک pod که شامل یک local volumes است، سرویس kubelet (در نهایت) به تابع “MountSensitive()” خواهد رسید. “در داخل آن، یک خط cmd فراخوانی “exec.command” وجود دارد که یک پیوند نمادین بین محل ولوم روی گره و مکان داخل پاد ایجاد میکند.
این حفرهای را فراهم میکند که مهاجم میتواند توسط ایجاد PersistentVolume با پارامتر مسیر ساختهشده ویژه در فایل YAML، که باعث تزریق کد و اجرای فرمان با استفاده از جداکننده دستور “&&” شود، سواستفاده کند.
منبع: https://thehackernews.com/2024/03/researchers-detail-kubernetes.html