محققان یک تهدید درِ پشتی کشف کردند که باعث میشود هکرها دستور اجرای راه دور را در برنامههای سروری Rails انجام دهند.
به گزارش افتانا (پایگاه خبری امنیت فناوری اطلاعات)، تهدید درِ پشتی در یک چارچوب منبعباز مشهور، تقریباً ۲۸ میلیون کاربر را تحت تأثیر قرار دادهاست. به گفته شرکت امنیتی سینک (Synk)، نسخه مخرب ابزار توسعه وب Bootstrap-Sass روی مخزن رسمی RubyGems منتشر شدهاست.
شرکت سینک در یک بیانیه امنیتی توضیح داد که آسیبپذیری در نسخه ۳.۲.۰.۳ ابزاری کاملاً پنهان شدهاست و درنتیجه مهاجمان میتوانند از راه دور بهصورت پویا، کد اجرایی را در سرورهای میزبان نسخههای آسیبپذیر اجرا کنند.
بسته بوت استرپ مبتنیبر Sass بسیار محبوب است و بدافزار درِ پشتی احتمالاً روی حجم وسیعی از کاربران تأثیر میگذارد. گیتهاب (GitHub) بیش از ۱۲ هزار بار مشاهده و در مجموع از آن، بیش از ۲۷ میلیون بار دانلود شدهاست. نسخه فعلی به نام ۳.۴.۱ نیز بیش از ۲۱۷ هزار بار دانلود شدهاست.
تجزیهوتحلیلها نشان میدهند که تقریباً ۱۶۷۰ مخزن گیتهاب با کاربرد مستقیم در معرض کتابخانه مخرب قرار گرفتهاست. این رقم با افزایش تعداد دفعات استفاده در برنامههای کاربردی به عنوان یک وابستگی متغیر افزایش خواهد داشت.
درِ پشتی در فایلی به نام lib/active-controller/middleware.rb پنهان شدهبود که به گفته سینک به یک ماژول رابی دیگر متصل میشود و آن را تغییر میدهد، بهطوری که موارد خاص ارسال شده ازسوی مشتری Base64، رمزگشایی و در زمان اجرا ارزیابی میشوند تا اجازه اجرای از راه دور کد بهطور مؤثر میسر شود.
شرکت امنیتی یادشده اظهار کرد: با وجود مخفی بودن هویت مهاجمان، آنها اعتبار را برای انتشار بسته مخرب RubyGems از یکی از دو نگهدارنده بهدست میآورند. نسخه مخرب از RubyGems حذف شدهاست و نگهدارندهها تغییر اعتباراتشان را تأیید کردهاند.
کارشناسان سینک خاطرنشان کردند: ما قبلاً آسیبپذیری را به پایگاه داده خود اضافه کردهایم و اگر پروژه شما تحت نظارت شرکت سینک و در صورتی که برنامه شما حاوی بسته مخرب باشد از هشدارهای روزانه ما مطلع خواهیدشد. در غیر این صورت باید بهصورت رایگان آزمایش کنید تا از احتمال آلوده شدن مخزن کد برنامه کاربردی خود با سینک مطمئن شوید.
این شرکت افزود: اگر متوجه شدید که برنامه Rails درحال استفاده از پروژه آسیبپذیر است، سریعاً اقدام و نسخه آسیبدیده (۳.۲.۰.۳) را با نسخه مجدد منتشرشده (۳.۲.۰.۴) به عنوان اولین پاسخ بدون نیاز به ارتقای نسخه اصلی جایگزین کنید.