دارک تیتکو، کارشناس امنیتی از تیم securitum یک آسیبپذیری حدس نام کاربری در کلاینت OpenSSH کشف کرده است که بر روی تمام نسخههای نرمافزاری که از سال ۱۹۹۹ به بعد منتشر شدهاند، تاثیر میگذارد. این آسیبپذیری که با شناسه CVE-2018-15473 ثبت شده و در حال آنالیز و بررسی توسط محققان میباشد، به مهاجم خارجی اجازه میدهد نامهای کاربری ثبت شده بر روی سرور OpenSSH را حدس زده و استخراج کند.
در حال حاضر پشتیبانان OpenSSH یک راهحل امنیتی برای مقابله با این آسیبپذیری ارائه دادهاند، اما از آنجا که OpenSSH در برنامههای کاربردی زیادی استفاده میشود، میتواند برای مدت طولانی باعث آسیبپذیر بودن این برنامهها شود.
محققان شرکت امنیتی Qualys تجزیه و تحلیل دقیقی از آسیبپذیری را پس از رفع باگ منتشر کردهاند. در ادامه روند عملکرد مهاجم که از این آسیبپذیری سوء استفاده میکند شرح داده خواهد شد:
- مهاجم سعی میکند که با ارسال یک درخواست احراز هویت نامعتبر به یک نقطه پایانی OpenSSH هویت خود را احراز کند.
- سرور OpenSSH در پاسخ به این درخواست اگر نام کاربری استفاده شده در درخواست احراز هویت نامعتبر، موجود نباشد پیغام خطای احراز هویت را ارسال میکند و در غیر اینصورت بدون هیچ پاسخی ارتباط را قطع میکند.
در این حمله مهاجم از یک بسته دستکاری شده برای احراز هویت نام کاربری میتواند استفاده کند، که دو حالت زیر ممکن است اتفاق بیفتد:
- اگر نام کاربری وجود نداشته باشد، تابع userauth_pubkey در فایل auth2-pubkey.c بلافاصله یک مقدار بازمیگرداند و سرور پیغام SSH2_MSG_USERAUTH_FAILURE را به مهاجم ارسال میکند.
- در صورتی که نام کاربری موجود باشد sshpkt_get_u8 ناموفق بوده و سرور تابع fatal را فراخوانی میکند تا ارتباط با مهاجم را سریعا قطع کند.
از آنجا که این آسیبپذیری بر روی همه سیستمعاملها و نسخههای OpenSSH تاثیر میگذارد و همچنین بکارگیری آن از همه روشهای قبلی سرشماری نامهای کاربری در OpenSSH راحتتر است تیم امنیتی Qualys به این نتیحه رسید که این آسیبپذیری نیازمند یک CVE است.
توجه کنید سورس کدهای سوء استفاده از این آسیبپذیری در حال حاضر به صورت آنلاین قابل دسترسی هستند.
نسخههای ۱:۶.۷p1-1، ۱:۷.۷p1-1 و ۱:۷.۷p1-4 (نسخه های ناپایدار) از OpenSSH این آسیبپذیری را رفع کردهاند.
منبع: Security Affairs
