دو باگ امنیتی در محصول متن باز SaltStack ایجاد شده است که به حمله کننده اجازه اجرای کد از راه دور روی سرورهای مستقر در دیتا سنترها و محیط‌های ابری را می‌دهد.

شناسه آسیب‌پذیری:

CVE-2020-11651, CVE-2020-11651

سطح ریسک:

For all vulnerabilities:

These vulnerabilities are currently awaiting analysis

نسخه‌های آسیب‌پذیر:

SaltStack Salt before 2019.2.4 and 3000 before 3000.2

نیازمند تعامل کاربر: خیر

سال شناسایی: 2020

توضیحات:

این باگ بحرانی RCE در SaltStack توسط محققان F-Secure در ماه مارس پیدا شده است که یک روز بعد از انتشار به‌روز رسانی نسخه ۳۰۰۰.۲ SaltStack بصورت عمومی منتشر گردید.

یکی از این باگ‌های امنیتی به دور زدن احراز هویت مربوط است که در حالت غیرعمد فعالیت‌های شبکه به کلاینت‌های احرازهویت نشده افشا می‌شود. باگ دیگر از طریق directory traversal ورودی‌ها به درستی فیلتر (پارامترها در درخواست شبکه) نمی‌شوند و اجازه دسترسی نامحدود به فایل سیستم سرور مستر را می‌دهد. شرکت سازنده اعلام نموده است که کاربران سریعا به روز رسانی را انجام دهند تا از سواستفاده از آن بصورت گسترده جلوگیری شود.

شناسه این آسیب‌پذیری‌ها شامل:

  • CVE-2020-11651

فرایند salt-master در کلاس ClearFuncs به درستی متد فراخوانی را اعتبارسنجی نمی‌کند. این ضعف به کاربر از راه دور دسترسی به بعضی متدها بدون احراز هویت را می‌دهد. این متد را می‌توان برای بازیابی توکن کاربر از salt master و یا اجرای کد دلخواه رویsalt minion استفاده کرد.

  • CVE-2020-11652

فرایند salt-master در کلاس ClearFuncs اجازه دسترسی به بعضی از متدهایی که آدرس را به درستی فیلتر نمی‌کنند، بدهد. این متدها اجازه دستری جایگزین به دایرکتوری به کاربر احرازهویت شده بدهد.

آسیب‌پذیری در پروتکل ZeroMQ:

Salt یک اتوماسیون قوی براساس پایتون است و می‌تواند از راه دور کنترل سیستم‌ها را برای اجرای دستورات بر روی آن‌ها انجام دهد. به دلیل هدف مانیتور و به‌روز رسانی وضعیت سرورها در دیتاسنتر، Salt به شکل معماری master-slave ساخته شده است. این شکل معماری امکان خودکار سازی فرایند تنظیمات و به‌روز رسانی نرم‌افزارها از master node ارایه داده و تمام تغییرات را بر روی گروه‌های هدف انجام می‌دهد.

ارتباط بین master و minion از طریق پیام ZeroMQ اتفاق می‌افتد. به‌علاوه master از دو کانال ZeroMQ استفاده می‌کند، یکی request server که minion نتایج اجرای فرامین را گزارش می‌کند و publish server که master پیام‌های که minion می‌توانند وصل و اشتراک گذاری کنند منتشر می‌کند.

طبق تحقیقات محققان F-Secure دو باگ امنیتی در پروتکل ZeroMQ وجود دارد. این آسیب‌پذیری که توسط مشاور امنیت توضیح داده شده است به حمله کننده اجازه وصل شدن به پورت “request server” را می‌دهد تا تمام مراحل و کنترل‌های احرازهویت را دور بزند و بتواند پیغام‌های کنترلی را منتشر کند و فایل‌های سیستمی “master” در هرجایی بخواند و بنویسد و با این کار کلید مخفی را برای احراز هویت در روت master سرقت نماید. پیامد این آسیب‌پذیری، اجرای کد از راه دور با سطح دسترسی روت روی master و تمام نودهای minionها است.

آسیب‌پذیری directory traversal پیدا شده روی wheel module (تابعی که اجازه خواندن و نوشتن فایل خاص در مکان مشخص را می‌دهد) می‌تواند اجازه خواندن فایل‌ها خارج از دایرکتوری مد نظر را بدهد و این به دلیل فیلتر اشتباه آدرس فایل‌ها است.

تشخیص آسیب‌پذیری Salt master:

محققان F-Secure اعلام کردند اسکن اولیه ۶۰۰۰ سرور آسیب‌پذیر را در اینترنت نشان دادند. برای تشخیص حملات احتمالی به masterهای آسیب‌پذیر باید پیام‌های ارسال شده به minionها بررسی شوند. نتیجه اکسپلویت آسیب‌پذیری احرازهویت، اطلاعات ASCII  شامل _prep_auth_info یا _send_pub بر روی پورت ارتباط با سرور(default 4506) است.

اضافه کردن کنترل‌های امنیت شبکه برای محدود کردن دسترسی به Salt master(ports 4505 and 4506) برای نودهای معتبر و یا محدودسازی دسترسی ها از اینترنت پیشنهاد می شود.

باگدشت در این صفحه به بررسی باگ بحرانی RCE در SaltStack پرداخت . امیدواریم از این اطلاعات استفاده کرده باشید.

منابع:

  1. The Hacker News
  2. NVD CVE-2020-11651
  3. NVD CVE-2020-11652