آخرین اخبار
همهٔ اخبار
امنیت وب و نرم‌افزار گزارش بحرانیت ۷/۱۰

زنجیره‌ای از آسیب‌پذیری‌های پردازش تصویر در Discourse منجر به افشای فایل‌های سرور شد

زنجیره‌ای از آسیب‌پذیری‌های پردازش تصویر در Discourse منجر به افشای فایل‌های سرور شد

یک زنجیره اکسپلویت (Exploit Chain) در سیستم آپلود تصاویر Discourse کشف شده است که به کاربران عادی اجازه می‌دهد با سوءاستفاده از تاخیر در پردازش JPEG، اجرای Ghostscript و قابلیت‌های ImageMagick، فایل‌های حساس سرور را بخوانند.

جزئیات فنی زنجیره حمله

این حمله که توسط پژوهشگران Searchlight Cyber شناسایی شده، تنها به یک حساب کاربری با سطح اعتماد صفر (Trust Level 0) نیاز دارد. روند فنی این حمله به شرح زیر است:

  • دور زدن سیاست‌های امنیتی: در حالی که ImageMagick فرمت‌های PostScript را مسدود کرده بود، اما همچنان اجازه می‌داد Ghostscript فایل‌های PDF را پردازش کند. این تضاد، شکافی امنیتی برای ورود ایجاد کرد.
  • استفاده از فایل‌های ترکیبی: مهاجمان فایلی را طراحی کردند که دارای بایت‌های شناسایی JPEG XL بود اما محتوای PostScript معتبری داشت. کتابخانه FastImage ابعاد تصویر را تایید می‌کرد، اما پسوند PDF باعث هدایت ImageMagick به سمت Ghostscript می‌شد.
  • حمله Race Condition: پژوهشگران از یک نقص از نوع Time-of-Check to Time-of-Use (TOCTOU) استفاده کردند. آن‌ها ابتدا یک فایل JPEG معتبر با پسوند .msvg آپلود کرده و سپس در فاصله زمانی کوتاه بین بررسی فایل توسط FastImage و پردازش آن توسط ImageMagick، فایل موقت را جایگزین کردند.
  • کند کردن پردازش: برای افزایش احتمال موفقیت در Race Condition، از یک فایل JPEG با Padding خاص استفاده شد تا مرحله پردازش jpegoptim را تا ۲۵ ثانیه کند کند و پنجره زمانی لازم برای جایگزینی فایل فراهم شود.
  • استخراج داده‌ها: در نهایت، پارسر MSVG در ImageMagick از طریق زبان اسکریپتینگ Magick یا MSL، یک فایل محلی را خوانده و محتوای آن را به صورت یک تصویر ذخیره کرد که سپس از طریق یک URL دانلود معمولی قابل دسترسی بود.

آسیب‌پذیری مسموم‌سازی حافظه پنهان (Cache Poisoning)

علاوه بر مورد فوق، یک نقص مجزا در مدیریت کوکی‌های مربوط به طرح رنگی (Color Scheme) کشف شد. این نقص اجازه می‌داد مقادیر کنترل شده توسط مهاجم در HTML منعکس شده و در حافظه پنهان (Cache) کاربران ناشناس ذخیره شوند. این موضوع منجر به دور زدن سیاست امنیت محتوا (CSP) و اجرای JavaScript می‌شد.

راهکارها و اصلاحات

تیم Discourse هر دو مشکل را برطرف کرده است. در نسخه اصلاح شده، دسترسی به Delegateها محدود شده و تنها رمزگشای‌های (Decoders) مورد نیاز مجاز هستند. همچنین اعتبارسنجی سخت‌گیرانه‌ای برای کوکی‌ها اعمال شده و مقادیر آن‌ها در کلیدهای Cache گنجانده شده است.

این آسیب‌پذیری با شناسه CVE-2026-55420 ثبت شده و در نسخه‌های 2026.6.0، 2026.5.1، 2026.4.2 و 2026.1.5 برطرف شده است. به مدیران سیستم توصیه می‌شود سریعاً نسبت به به‌روزرسانی اقدام کنند و تنها به محدود کردن پسوندها اکتفا نکنند.