آسیب‌پذیری خطرناک VMware vCenter Server (CVE-2021-21972)

در صورتیکه vCenter خود را بر روی اینترنت در دسترس قرار داده‌اید، قبل از خواندن این متن ارتباط آن را از اینترنت قطع کنید و سپس بخوانید!

آسیب‌پذیری اجرای کد از راه دور vCenter

شرکت VMWare در آخرین بروزرسانی خود اقدام به رفع یک آسیب‌پذیری اجرای کد از راه دور بسیار خطرناک با درجه خطر ۹.۸ از ۱۰ با شناسه CVE-2021-21972 در سرویس vCenter خود که یک سرور مدیریت زیر ساخت می‌باشد، نموده است.

نفوذگران با استفاده از این آسیب‌پذیری می‌توانند بدون نیاز به داشتن لاگین و پسورد، بر روی زیرساخت مجازی و کلیه سرورها، کد دلخواه خود را اجرا کنند.

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

  • برآوردها نشان می‌دهد که بیش از ۶۷۵۰ سرور آسیب‌پذیر vCenter در حال حاضر از طریق اینترنت در دسترس و در معرض خطر می‌باشند و با توجه به اهمیت و موقعیت این گونه سرورها در ساختار شبکه، دسترسی به آن به معنای دسترسی به بخش عظیمی از زیر ساخت سازمان می‌باشد.
  • بیش از ۱۸۰ سرور آسیب‌پذیر vCenter در داخل ایران در معرض خطر می‌باشند.
  • در حال حاضر کد سوءاستفاده از این آسیب‌پذیری به صورت عمومی منتشر شده و این موضوع نیاز به قطع اتصال vCenter از اینترنت در سریعترین زمان ممکن و پس از آن استفاده از جدیدترین نسخه vCenter را چند برابر می‌کند.

طبق گفته VMware «این آسیب‌پذیری در یک پلاگین که به صورت پیشفرض در کلاینت‌های vSphere (HTML5) نصب می‌باشند وجود داشته» و یک نفوذگر با دسترسی به پورت ۴۴۳ امکان سوءاستفاده از این آسیب‌پذیری و اجرای دستورات از راه دور بدون نیاز به هیچ تاییدی از سوی کاربر و با بالاترین سطح دسترسی ممکن را دارا می‌باشد.

پلاگین آسیب‌پذیر مورد نظر، پلاگین vRealize Operations (vROPs ) بوده که به صورت پیشفرض در کلاینت‌های vSphere (HTML5) نصب می‌باشد.

روش تست آسیب‌پذیری

جهت تست آسیب‌پذیری می‌توانید فایل زیر را (robwillisinfo) دانلود کرده و با اجرای دستور زیر در Powershell اقدام به تست vCenter خود بنمایید:

powershell.exe -ExecutionPolicy Bypass vCenter-CVE-2021-21972-Checker.ps1 -targethosts {IP} -o {OUTPUT FILE} -f

اسکریپت تست آسیب‌پذیری
 

توصیه‌های امنیتی

جهت رفع این آسیب‌پذیری می‌توانید وصله‌های منتشر شده بر روی vCenter را نصب نمایید:

Product Version Running On CVE Identifier CVSSv3 Severity Fixed Version Workarounds
vCenter Server
7.0
Any
CVE-2021-21972
CRITICAL
vCenter Server
6.7
Any
CVE-2021-21972
CRITICAL
vCenter Server
6.5
Any
CVE-2021-21972
CRITICAL
حتی در صورت اعمال وصله بالا، پیشنهاد اکید ما این است که هرگز سرویس vCenter را با توجه به حساسیت فوق‌العاده آن روی اینترنت منتشر نکنید.

راهکار موقت

در صورتیکه به هر دلیلی امکان نصب وصله را ندارید، با غیرفعال کردن پلاگین vROPs می‌توانید مساله را موقتا برطرف نمایید:

  1. ارتباط SSH با vCSA برقرار کنید.
  2. از فایل compatibility-matrix.xml یک بکاپ بگیرید.
    • لینوکسی: /etc/vmware/vsphere-ui/compatibility-matrix.xml
    • ویندوزی: C:\ProgramData\VMware\vCenterServer\cfg\vsphere-ui\compatibility-matrix.xml
  3. محتوای فایل را به این شیوه تغییر دهید: (سطر بولد شده را اضافه کنید)
    <Matrix>
    <pluginsCompatibility>
      ...
    <PluginPackage id="com.vmware.vrops.install" status="incompatible"/>
    </pluginsCompatibility>
    </Matrix>
    
  4. با دستور زیر سرویس vsphere-ui را ریست کنید:
    • لینوکسی: service-control --restart vsphere-ui
    • ویندوزی: C:\Program Files\VMware\vCenter Server\bin> service-control --restart vsphere-ui
  5. جهت اطمینان از موثر بودن راهکار به آدرس روبرو بروید: https://<srv-name>/ui/vropspluginui/rest/services/checkmobregister
  6. در صورتیکه راهکار به درستی اعمال شده باشد، با پیام [404] Page not found قرمز رنگ مواجه خواهید شد.
  7. به علاوه از درون رابط وب، در بخش Administration > Solutions > client-plugins پلاگین VMware vROPS Client با عنوان incompatible نمایش داده خواهد شد.