نقطه ضعف کجا نهشتده است؟

فریم‌ورک محبوب Ruby on Rails در اقدامی سریع بسته‌های امنیتی جدیدی را منتشر کرد تا راه دسترسی مهاجمان را به فایل‌های حساس سرورهای سازمان‌ها ببندد. این مشکل با شناسه CVE-2026-66066 و امتیاز خطرناک 9.5 در ابزار محاسبه CVSS، یکی از حادترین نواقص است که مستقیماً پیکربندی‌های مبتنی بر کتابخانه پردازش تصویر libvips را هدف قرار می‌دهد.

ریشه این آسیب‌پذیری در مرز اعتماد بین Active Storage و پردازشگر تصویر libvips پنهان شده است. فریم‌ورک در نسخه‌های 7.0 به بعد، این کتابخانه را به‌عنوان پردازشگر پیش‌فرض انتخاب می‌کند. وقتی اپلیکیشن‌ها تصاویر ارسالی کاربران عادی را پردازش می‌کنند، اگر آن فایل‌های دست‌کاری‌شده را مستقیماً به عملیات ناامن فرستاده شوند، فریم‌ورک به‌طور خودکار جلوی این مسیر را نمی‌گیرد. نتیجه، توانایی اجرای توابع داخلی libvips برای استخراج محتوای فایل‌هایی است که در دسترس فرآیند Worker برنامه قرار دارند.

چه داده‌هایی در خطر جدی هستند؟

موفقیت در این حمله صرفاً به خواندن تصاویر محدود نمی‌شود. مهاجم با داشتن قابلیت خواندن سراسری (Arbitrary File Read)، می‌تواند به secret_key_base، کلیدهای مستر، گذرواژه‌های پایگاه‌داده، اطلاعات احراز هویت سرویس‌های ابری و توکن‌های API دسترسی پیدا کند. به محض لو رفتن این کلیدها، خطر اجرای کد مخرب از راه دور (RCE) و نفوذ جانبی به زیرساخت‌های متصل، اپلیکیشن‌ها را تهدید می‌کند. تیم‌های امنیتی بر این باورند که هیچ عملیات تخصصی مانند ساخت تصویر کوچک یا تغییر اندازه برای بهره‌برداری لازم نیست.

بازه‌های آسیب‌پذیر و نسخه‌های اصلاح‌شده

تحقیقات مشترک متخصصان Ethiack و GMO Flatt Security نشان می‌دهد که بازه‌های زیر مستقیماً تحت تأثیر این باگ قرار دارند:

  • نسخه‌های 7.0.0 تا 7.2.3.1
  • نسخه‌های 8.0.0 تا 8.0.5
  • نسخه‌های 8.1.0 تا 8.1.3

اگرچه تیم رسمی Rails نیز نسخه‌های 6.0.0 تا 6.1.7.10 را در صورت پیکربندی دستی برای Vips آسیب‌پذیر می‌داند، اما نسخه‌های 7.0 و 7.1 از چرخه عمر پشتیبانی خارج شده‌اند و هیچ پچ رسمی برای آن‌ها صادر نمی‌شود. توسعه‌دهندگان باید فوراً به نسخه 7.2.3.2 یا بالاتر ارتقا یابند. نسخه‌های نهایی و پایدار این پچ عبارتند از 7.2.3.2، 8.0.5.1 و 8.1.3.1.

راهکارهای موقت و الزامات فنی

برای سازمان‌هایی که امکان آپدیت فوری فریم‌ورک را ندارند، یک راهکار موقت در دسترس است. در صورت استفاده از libvips نسخه 8.13 به بالا، تنظیم متغیر محیطی VIPS_BLOCK_UNTRUSTED یا فراخوانی Vips.block_untrusted(true) در ruby-vips نسخه 2.2.1 به بعد، می‌تواند موقتاً مسیر حمله را مسدود کند. توجه داشته باشید که پچ قطعی بدون تغییر تمامی اسرار و کلیدهای رمزنگاری‌شده، امنیت را تضمین نمی‌کند. چرخش فوری گواهی‌نامه‌ها و توکن‌های سرقت‌شده، پس از آپدیت، یک ضرورت اجتناب‌ناپذیر است.

تا ساعت 17:30 UTC در تاریخ 29 July 2026، هیچ‌یک از محققان مستقل، کد اثبات مفهوم یا ابزار بهره‌برداری عمومی را منتشر نکرده‌اند. جست‌وجوهای دقیق در مخازن گیت‌هاب، گیت‌لب و پلتفرم‌های به اشتراک‌گذاری اکسپلویت هیچ نتیجه‌ای نداشته است. تیم امنیتی Rails اعلام کرده است که جزئیات فنی کامل این حمله تا تاریخ 28 August 2026 منتشر خواهد شد. این رویداد یادآوری می‌کند که در دنیای توسعه وب، مدیریت زنجیره تأمین کتابخانه‌های جانبی و به‌روزرسانی مداوم مرزهای اعتماد، خط مقدم دفاع سایبری است و تیم‌های فنی باید چابکی خود را در مقابله با آسیب‌پذیری‌های هسته‌ای افزایش دهند.