یک آسیب‌پذیری حیاتی چهارساله در کتابخانه پیاده‌سازی امن SSL که به نام Libssh شناخته می‌شود، کشف شده است که می‌تواند به هرکسی اجازه دهد که به‌طور کامل احراز هویت را دور زده و کنترل در سطح مدیریتی و نامحدود را بر روی یک سرور آسیب‌پذیر و بدون نیاز به کلمه عبور به دست آورد.

این آسیب‌پذیری امنیتی که با عنوان CVE-2018-10933 نام‌گذاری شده است، یک مسئله دور زدن احراز هویت است که در نسخه ۰٫۶ کتابخانه Libssh معرفی شده است که در اوایل سال ۲۰۱۴ منتشر شد و هزاران سرور سازمانی را در طی چهار سال گذشته در معرض حمله مهاجمان قرار داد.

اما قبل از اینکه نگران این مسئله شوید، باید بدانید که نه OpenSSH که به‌طور گسترده مورداستفاده قرار می‌گیرد و نه پیاده‌سازی Github از libssh تحت تأثیر این آسیب‌پذیری قرار نگرفته‌اند.

این آسیب‌پذیری به علت یک خطای برنامه‌نویسی در Libssh به وجود آمده است و بهره‌برداری از آن بسیار ساده است.

بر اساس یک توصیه‌نامه امنیتی[۱] که در تاریخ ۱۶ اکتبر ۲۰۱۸ منتشر شد، همه کاری که مهاجمان باید انجام دهند، ارسال یک پیام “SSH2_MSG_USERAUTH_SUCCESS” به یک سرور با یک ارتباط SSH فعال در زمانی است که در انتظار یک پیام “SSH2_MSG_USERAUTH_REQUEST” است.

با توجه به یک نقص منطقی در libssh، اگر بسته login موفق ورودی توسط سرور یا سرویس‌گیرنده ارسال شده باشد، این کتابخانه نمی‌تواند آن را احراز هویت کند و همچنین نمی‌تواند بررسی کند که آیا فرآیند احراز هویت کامل شده است یا خیر.

بنابراین، اگر یک مهاجمِ از راه دور (سرویس‌گیرنده)، پاسخ “SSH2_MSG_USERAUTH_SUCCESS” را به libssh ارسال کند، این کتابخانه در نظر می‌گیرد که احراز هویت موفق بوده است و به مهاجم دسترسی به سرور را بدون نیاز به وارد کردن کلمه عبور می‌دهد.

گرچه GitHub از libssh استفاده می‌کند، اما در ابتدا تأیید می‌کند که از وب‌سایت رسمی آن است یا نه و GitHub Enterprise به دلیل نحوه استفاده‌ی GitHub از این کتابخانه تحت تأثیر این آسیب‌پذیری قرار ندارد.

یکی از مقامات امنیتی GitHub در توییتر گفت[۲]: “ما از یک نسخه سفارشی از libssh استفاده می‌کنیم؛ SSH2_MSG_USERAUTH_SUCCESS با سرور libssh بر اساس احراز هویت مبتنی بر pubkey نیست، بلکه همان چیزی است که ما از این کتابخانه به خاطر آن استفاده می‌کنیم.”

“وصله‌ها با احتیاط فراوان اعمال شده‌اند، اما GitHub Enterprise هرگز به آسیب‌پذیری CVE-2018-1093، آسیب‌پذیر نبوده است.”

موتور جستجوی Shodan نشان می‌دهد که حدود ۶۵۰۰ سرور اینترنتی ممکن است به علت استفاده از Libssh نسخه ۱ یا دیگر نسخه‌ها تحت تأثیر این آسیب‌پذیری قرار داشته باشند.

این اشکال امنیتی توسط Peter Winter-Smith از NCC Group کشف شد، که این مسئله را به Libssh گزارش کرد.

تیم Libssh با انتشار نسخه‌های به‌روز شده libssh یعنی نسخه‌های ۰٫۸٫۴ و ۰٫۷٫۶ در تاریخ ۱۶ اکتبر ۲۰۱۸ این مشکل را برطرف کرد و همچنین جزئیات این آسیب‌پذیری را نیز در همان روز منتشر کرد.

اگر شما Libssh را بر روی وب‌سایت خود نصب کرده باشید و عمدتاً اگر شما از بخش سرور استفاده می‌کنید، به شما به‌شدت توصیه می‌شود که نسخه‌های به‌روز شده Libssh را در اسرع وقت نصب کنید.

منابع

[۱] https://www.libssh.org/2018/10/16/libssh-0-8-4-and-0-7-6-security-and-bugfix-release

[۲] https://twitter.com/GitHubSecurity/status/1052358402842746880

[۳] https://thehackernews.com/2018/10/libssh-ssh-protocol-library.html