آسیب‌پذیری RCE خطرناک در OpenSSH: RegreSSHion

RegreSSHion

سازندگان OpenSSH به‌روزرسانی‌های امنیتی را برای رفع یک نقص امنیتی مهم با نام RegreSSHion و شناسه CVE-2024-6387 (امتیاز 8.1) منتشر کرده‌اند که می‌تواند منجر به اجرای کد از راه دور  (RCE) غیر قابل تأیید با دسترسی root در سیستم‌های لینوکس مبتنی بر glibc شود.

مجموعه ابزار OpenSSH تقریباً در همه جا وجود دارد. در واقع یک پیاده‌سازی محبوب از پروتکل SSH (یا Secure Shell) است و در اکثر توزیع‌های لینوکس، OpenBSD و FreeBSD، macOS و همچنین دستگاه‌های تخصصی مانند دستگاه های مبتنی بر سیستم عامل Junos ادغام شده است.

بر اساس گزارش واحد تحقیقاتی تهدیدهای Qualys: این نقص امنیتی در مولفه OpenSSH server (یا sshd) وجود دارد، که برای گوش دادن به اتصالات از هر یک از اپلیکیشن‌های Client طراحی شده است. در واقع نوعی نقص رقابتی (race condition) مدیریت سیگنال‌ها در سرور OpenSSH (sshd) است که امکان اجرای کد از راه دور غیرقابل تأیید (RCE) را به‌ عنوان root در سیستم‌های لینوکس مبتنی بر glibc فراهم می‌سازد. این race condition بر sshd در پیکربندی پیش فرض آن تاثیر می‌گذارد.

بنابر گزارش این شرکت امنیت سایبری، در سطح اینترنت حدود ۱۴ میلیون سرور بالقوه آسیب‌پذیر OpenSSH شناسایی شده است. گفتنی است که نقص امنیتی CVE-2024-6387 به این دلیل RegreSSHion (پسرفت) نامیده شده است که در واقع ۱۸ سال پیش، در سال ۲۰۰۶ یک آسیب‌پذیری مشابه با شناسه CVE-2006-5051 در OpenSSH وصله شده بود. با این حال، در به‌روزرسانی‌های منتشر شده OpenSSH نسخه 8.5p1 در اکتبر 2020، مجددا آسیب‌‌پذیری ایجاد شد.

 اکسپلویت CVE-2024-6387

تاثیر اساسی اکسپلویت CVE-2024-6387، به خطر افتادن و تصاحب کامل سیستم است، که نفوذگران را به اجرای کد دلخواه با بالاترین سطح دسترسی، عبور از مکانیسم‌های امنیتی، سرقت داده‌ها و حتی حفظ دسترسی مداوم قادر می‌سازد.

این آسیب‌پذیری توسط محققان کشف شده و به طور مسئولانه در اختیار تیم توسعه قرار گرفته است. بنابراین اکسپلویت فوری بعید است. OpenSSH در بیانیه‌ای اظهار کرد: “اکسپلویت موفقیت‌آمیز در سیستم‌های Linux/glibc 32 bit با [address space layout randomization]  و تحت شرایط آزمایشگاهی، نیازمند ۶ الی ۸ ساعت اتصال مداوم با حداکثر میزانی که سرور می‌پذیرد، می‌باشد.

به طور کلی پیچیدگی‌های فنی، اکسپلویت انبوه را غیرعملی می‌کند و ده هزار تلاش برای احراز هویت با تنظیمات استاندارد OpenSSH برای هر سرور، به طور متوسط شش تا هشت ساعت طول می‌کشد. افزون بر این، نفوذگر باید بداند سرور در حال اجرا کدام نسخه لینوکس است. اگر سرور در برابر حملات brute force و DDoS محافظت شده باشد، این اقدامات احتمالاً حمله را مسدود می‌سازد.

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

محصولات آسیب‌پذیر

▪️این آسیب‌پذیری نسخه‌های بین 8.5p1 و 9.7p1 را که بر روی glibc-Linux اجرا می‌شوند، تحت تأثیر قرار می‌دهد.

▪️ نسخه‌های قبل از 4.4p1 نیز نسبت به باگ race condition آسیب‌پذیر هستند و در صورتی که برای آسیب‌پذیری‌های CVE-2006-5051 و CVE-2008-4109 وصله نشده باشند، در معرض خطر قرار دارند.

▪️شایان ذکر است که سیستم‌های OpenBSD تحت تأثیر قرار نمی‌گیرند، زیرا دارای مکانیزم امنیتی هستند که این نقص را مسدود می‌کند.

📌 این احتمال وجود دارد که نقص امنیتی مذکور بر روی MacOS و Windows نیز تأثیر بگذارد، اگرچه قابلیت بهره‌برداری از آن در این پلتفرم‌ها تأیید نشده است و نیاز به تحلیل بیشتری دارد.

راهکارهای امنیتی

با وجود این‌ که آسیب‌پذیری مذکور به دلیل ماهیت race condition از راه دور موانع قابل توجهی دارد، اما به کاربران توصیه می‌شود:

✅ به منظور ایمن شدن در برابر تهدیدات احتمالی آخرین وصله‌های امنیتی را اعمال و OpenSSH (sshd) را به نسخه 9.8 به‌روزرسانی کنید.

✅ ‫با استفاده از فایروال پادویش امکان محدودسازی آی‌پی‌های مجاز جهت دسترسی به پورت SSH وجود دارد.

✅ دسترسی SSH را از طریق فایروال‌ها و سایر ابزارهای امنیتی مبتنی بر شبکه محدود سازید.

✅ جهت محدودسازی دسترسی غیرمجاز و حرکت جانبی، تقسیم‌بندی شبکه را اعمال کنید.

✅ در صورتی که به‌روزرسانی فوری امکان‌پذیر نبود، ادمین‌ها می‌توانند به عنوان یک کاهش موقت، مدت زمان ورود به سیستم را روی صفر تنظیم کنند (LoginGraceTime=0 in sshd_config). با این حال، بنابر هشدار توسعه‌دهندگان، این اقدام باعث می‌شود سرور SSH در برابر حملات DDoS مستعدتر شود.