یک آسیب پذیری جدید اجرای کد از راه دور (RCE) به نام regreSSHion توسط محققان Qualys در می 2024 کشف شده است. آسیب پذیری regreSSHion که با شناسه CVE-2024-6387 دنبال میشود، یک race condition کنترل کننده سیگنال در سرور OpenSSH (sshd) است که دسترسی root را برای مهاجمان احراز هویت نشده در سیستمهای لینوکس مبتنی بر glibc فراهم میآورد.
چنانچه هویت کلاینت در بازه زمانی LoginGraceTime که بطور پیش فرض ۱۲۰ ثانیه است، محرز نگردد آنگاه کنترلکننده SIGALRM در sshd بصورت ناهمزمان فراخوانی میشود و توابع مختلفی را نیز فراخوانی میکند که از نظر سیگنال، همگام هستند.
بهره برداری از آسیب پذیری regreSSHion میتواند عواقب شدیدی برای سرورهای مورد نظر داشته باشد و باعث به خطر افتادن کامل سیستم شود، به گونهای که مهاجم خواهد توانست کد دلخواه را با بالاترین سطح دسترسی اجرا کند که منجر به کنترل کامل سیستم، نصب بدافزار، دستکاری دادهها و ایجاد بکدورهایی برای دسترسی مداوم میشود.
در این صورت، انتشار تحت شبکه نیز تسهیل خواهد شد و مهاجمان میتوانند از یک سیستم تحت نفوذ به عنوان پایگاهی برای عبور و سوء استفاده از سایر سیستمهای آسیب پذیر در سازمان استفاده کنند.
از سوی دیگر، سوء استفاده از آسیب پذیری regreSSHion کار سادهای نیست و نیازمند تلاشهای متعددی است.
نسخههای آسیب پذیر
- آسیب پذیری regreSSHion، سرورهای OpenSSH لینوکس از نسخه 5p1 تا 9.8p1 را تحت تاثیر قرار میدهد.
- نسخههای 4p1 تا 8.5p1 به لطف وصلهای که قبلا برای CVE-2006-5051 منتشر شده است در برابر CVE-2024-6387، آسیب پذیر نیستند.
- نسخههای قدیمیتر از 4p1 در برابر regreSSHion آسیب پذیر هستند مگر اینکه پچهای مربوط به CVE-2006-5051 و CVE-2008-4109 را دریافت کرده باشند.
- سیستمهای OpenBSD نیز به دلیل مکانیزم ایمنی که در سال 2001 معرفی شد، تحت تأثیر این نقص امنیتی قرار ندارند.
- اگرچه regreSSHion احتمالاً در macOS و Windows نیز وجود دارد، اما قابلیت بهره برداری از آن در این سیستمها هنوز تأیید نشده است و تحلیل و بررسیهای جداگانهای برای تعیین آسیب پذیر بودن این سیستم عاملها مورد نیاز است.
مقابله با آسیب پذیری regreSSHion
اقدامات زیر به منظور رفع یا کاهش آسیب پذیری regreSSHion در OpenSSH، توصیه میشود:
- آسیب پذیری regreSSHion در نسخه 8p1 برطرف شده است. از این رو، توصیه میشود فورا آخرین به روزرسانی موجود برای سرور OpenSSH را دریافت کنید.
- دسترسی SSH را با استفاده از کنترلهای مبتنی بر شبکه مانند فایروالها محدود کنید و تقسیمبندی شبکه را برای جلوگیری از حرکت جانبی پیادهسازی نمائید.
- چنانچه سرور OpenSSH نمیتواند فوراً به روزرسانی شود، LoginGraceTime را در فایل پیکربندی sshd بر روی صفر تنظیم کنید، اما توجه داشته باشید که این کار میتواند سرور را در معرض حملات انکار سرویس (DoS) قرار دهد.
اسکنهای Shodan و Censys بیش از 14 میلیون سرور OpenSSH متصل به اینترنت را نشان میدهند که ۷۰۰,۰۰۰ مورد از آنها در برابر CVE-2024-6387، آسیب پذیر میباشند.