در چارچوب پیکربندی SaltStack دو آسیبپذیری با شدت بالا کشف شده است که به مهاجم این امکان را میدهد تا کد دلخواه را در سرورهای راه دور مستقر در مراکز داده و محیطهای ابری اجرا کند. این آسیبپذیریها در ماه مارس توسط پژوهشگران F-Secure شناسایی شدند و در ۳۰ آوریل، یک روز پس از انتشار وصله برای رفع این مسائل توسط SaltStack افشا شدند.
این شرکت امنیتی بیان کرد که به این آسیبپذیریها شناسههای CVE-2020-11651 و CVE-2020-11652 اختصاص داده شده است که از دو کلاس متفاوت هستند و در نمرهدهیدهی CVSS دارای امتیاز ۱۰ هستند. یکی از آنها دور زدن احراز هویت است که در آن عملکرد SaltStack بهطور ناخواسته در معرض خطر کلاینتهای احرازهویتنشدهی شبکه قرار میگیرد، دیگری نیز آسیبپذیری پیمایش مسیر است که در آن ورودی غیرقابل اطمینان بهدرستی sanitized نمیشود و دسترسی غیرقانونی به کل سیستم فایل سرور master را فراهم میکند.
پژوهشگران هشدار دادند که این آسیبپذیریها به شدت قابل بهرهبرداری هستند. SaltStack نیز از کاربران میخواهد تا روشهای بهتری را برای تأمین امنیت محیط Salt دنبال کنند. Salt یک موتور قدرتمند اجرای از راه دور و خودکار مبتنیبر پایتون است که به منظور فراهم کردن امکان ارسال دستورات بهطور مستقیم به چند ماشین را برای کاربران فراهم میکند.
Salt به عنوان ابزاری برای نظارت و بهروزرسانی وضعیت سرورها از یک معماری master-slave بهره میبرد که فرآیند خارج کردن پیکربندی و بهروزرسانیهای نرمافزاری را از یک مخزن مرکزی و با استفاده از یک گره master که تغییرات را در گروهی از minionها اعمال میکند، خودکار میکند.
ارتباط بین یک master و minion در پیامهای ZeroMQ رخ میدهد. علاوهبرآن، master از دو کانال ZeroMQ استفاده میکند، یک «request server» برای minionهایی که نتایج اجرا را گزارش میدهند و یک «publish server» که در آن master پیامهایی را منتشر میکند که minionها میتوانند به آنها متصل شوند.
بهگفتهی پژوهشگران، این دو آسیبپذیری در پروتکل ZeroMQ این ابزار وجود دارند و به مهاجمی که میتواند به درگاه request server متصل شود، اجازه میدهند تا همهی کنترلهای احراز هویتی را دور بزند و پیامهای کنترل دلخواه را منتشر کند، فایلها را در هر مکانی در سیستم فایل سرور master بخواند و بنویسد و کلید محرمانهی استفادهشده برای احراز هویت بهعنوان روت در master را به سرقت ببرد.
این آسیبپذیریها منجر به اجرای کد از اره دور کامل بهعنوان روت در master و همهی minionهای متصل به آن میشوند. به عبارت دیگر، یک مهاجم میتواند از این آسیبپذیریها برای فراخوانی دستورات مدیر در سرور master و همچنین در صف قرار دادن پیامها به طور مستقیم در publish server مربوط به master بهرهبرداری کند و درنتیجه به minionهای Salt اجازه میدهد تا دستورات مخرب را اجرا کنند.
علاوهبرآن، یک آسیبپذیری پیمایش مسیر شناساییشده در ماژول wheel که توابعی برای خواندن و نوشتن فایلها در مکانهای خاص دارد، میتواند بهدلیل عدم sanitized درست مسیر فایلها، امکان خواندن فایلهای خارج از مسیر مورد نظر را فراهم کند.
پژوهش گران در یک اسکن اولیه بیش از ۶ هزار نمونهی آسیبپذیر Salt را کشف کردند که در معرض اینترنت قرار گرفتهاند. بنابراین، شناسایی حملات احتمالی علیه masterهای مستعد، مستلزم بررسی پیامهای منتشرشده برای minionها با هر گونه محتوای مخرب است. بهرهبرداری از آسیبپذیریهای احراز هویت باعث میشود که رشتههای «_prep_auth_info» یا «_send_pub» در دادههای ارسالشده به درگاه request server ظاهر شوند.
به شدت به کارابران Salt توصیه میشود که بستههای نرمافزاری خود را به آخرین نسخه بهروزرسانی کنند.
پژوهشگران بیان کردند که اضافه کردن کنترلهای امنیتی که دسترسی به master را برای minionهای شناختهشده محدود میکند و یا حداقل اینترنت گستردهتر را مسدود میکند، محتاطانهتر خواهد بود، زیرا کنترلهای احرازهویت ارائهشده توسط Salt درحالحاضر به اندازهی کافی قوی نیستند.