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

آسیب‌پذیری بحرانی RCE در Next.js از طریق فایل‌های SVG مخرب

آسیب‌پذیری بحرانی RCE در Next.js از طریق فایل‌های SVG مخرب

یک آسیب‌پذیری بحرانی در فریم‌ورک Next.js با شناسه CVE-2026-94545 شناسایی شده است که پیاده‌سازی ImageResponse در محیط Node.js (بسته next/og) را هدف قرار می‌دهد. این نقص امنیتی می‌تواند منجر به اجرای کد از راه دور (Remote Code Execution یا RCE) از طریق بهره‌برداری از محتوای SVG مخرب در هنگام تولید تصاویر شود.

جزئیات فنی و مکانیسم حمله

این مشکل در نسخه‌های 16.2.0 تا پیش از نسخه 16.3.6 در Next.js وجود دارد. این آسیب‌پذیری در مؤلفه رندرینگ تصاویر (Image-rendering) رخ می‌دهد که برای ایجاد پویا تصاویر Open Graph، پیش‌نمایش شبکه‌های اجتماعی و سایر گرافیک‌های تولید شده در سمت سرور استفاده می‌شود.

زمانی که یک اپلیکیشن داده‌های تحت کنترل مهاجم را در المان‌ها، ویژگی‌ها (Attributes) یا استایل‌های SVG قرار دهد، این نقص فعال می‌شود. برای مثال، اگر اپلیکیشن مقداری را از یک پارامتر URL یا فیلد فرم دریافت کرده و آن را مستقیماً در المان <title> یک تصویر SVG رندر کند، عامل تهدید می‌تواند با ارسال ورودی‌های دست‌کاری شده، کد مخرب خود را روی سروری که درخواست تولید تصویر را پردازش می‌کند، اجرا نماید.

تحلیل ریسک و اثرات

  • شدت بحرانی: طبق توصیه‌های GitHub (GHSA-vcvr-r3jv-pc5j)، این آسیب‌پذیری در استاندارد CVSS v4 دارای رتبه Critical است.
  • شرایط حمله: حمله به صورت کاملاً از راه دور (Remote)، بدون نیاز به احراز هویت (Authentication) و بدون نیاز به تعامل کاربر (User Interaction) قابل اجراست.
  • دامنه اثر: در صورت موفقیت، مهاجم می‌تواند به داده‌های حساس سمت سرور دسترسی یابد، محتوای میزبانی شده را تغییر دهد یا از این نقطه به عنوان سرپناهی برای حملات گسترده‌تر در زیرساخت ابری و سرویس‌های داخلی استفاده کند.

محدودیت‌ها و موارد غیر آسیب‌پذیر

بر اساس گزارش‌های منتشر شده، تمامی استقرار‌های Next.js در معرض خطر نیستند:

  • اپلیکیشن‌هایی که از پیاده‌سازی Edge برای ImageResponse استفاده می‌کنند، تحت تأثیر این آسیب‌پذیری نیستند.
  • برنامه‌هایی که از ImageResponse در Node.js استفاده می‌کنند اما هیچ‌گونه ورودی غیرقابل اعتمادی را در محتوای SVG یا استایل‌های CSS قرار نمی‌دهند، در امان هستند.

توصیه‌های امنیتی و رفع مشکل

به مدیران SOC و تیم‌های توسعه توصیه می‌شود اقدامات زیر را با فوریت انجام دهند:

  1. به‌روزرسانی سریع: ارتقای نسخه Next.js به 16.3.6 که شامل اصلاحیه امنیتی است.
  2. بازبینی نقاط انتهایی (Endpoints): بررسی تمامی مسیرهای تولید تصویر (به‌ویژه Open Graph) که از پارامترهای Query-string استفاده می‌کنند.
  3. تغییر در منطق کدنویسی: در صورتی که امکان به‌روزرسانی فوری وجود ندارد، باید از ارسال ورودی‌های کنترل‌شده توسط کاربر به محتوا، ویژگی‌ها و استایل‌های SVG در ImageResponse خودداری شود.

نکته مهم: اعتبارسنجی ورودی‌ها (Input Validation) به تنهایی به عنوان یک راهکار دائمی توصیه نمی‌شود، زیرا پیچیدگی‌های پارس کردن و رندرینگ SVG می‌تواند مسیرهای حمله پیش‌بینی نشده‌ای را ایجاد کند.