Vercel وصله‌های فوری برای Next.js منتشر کرد تا دو آسیب‌پذیری بحرانی منجر به اجرای کد از راه دور (RCE) را رفع کند؛ یکی از طریق فایل‌های AVIF دستکاری‌شده و دیگری به‌خاطر نقص traversal در سیستم‌فایل ویندوز.

نسخه‌های آسیب‌پذیر و نحوه به‌روزرسانی

آسیب‌پذیری‌ها در نسخه‌های 13.4 تا 15.5.23 و 16.0 تا 16.3.2 وجود دارند. اصلاح‌ها در نسخه‌های 15.5.24 (Maintenance LTS) و 16.3.3 (Active LTS) در تاریخ 25 اوت 2026 منتشر شدند. برای به‌روزرسانی از یکی از دستورات زیر استفاده کنید:

  • npm install next@15.5.24 برای شاخه 15.5
  • npm install next@16.3.3 برای شاخه 16.3

سایت‌هایی که روی سرویس Vercel میزبانی می‌شوند به‌صورت خودکار محافظت شده‌اند و نیاز به اقدام دستی ندارند، اما سرورهای ویندوزی باید فوراً به‌روزرسانی شوند.

نقص مسیر traversal ویندوز (CVE-2026-75604)

این نقص با امتیاز CVSS برابر 9.0 برنامه‌هایی را هدف می‌گیرد که از هر دو Pages Router و App Router بدون Cache Components استفاده می‌کنند و روی سیستم‌فایل ویندوز اجرا می‌شوند. استقرارهای لینوکس و macOS تحت تأثیر قرار نمی‌گیرند. Vercel اعلام کرده است که برای برنامه‌های میزبانی‌شده روی ویندوز راهکار موقت موثری وجود ندارد و توصیه می‌کند فوراً به نسخه‌های پچ‌شده ارتقا دهید.

یادداشت تغییرات رسمی را در صفحه انتشار Next.js مشاهده کنید: Next.js Releases.

نقص بهینه‌سازی AVIF و وابستگی libheif

Next.js برای بهینه‌سازی تصاویر از بسته sharp استفاده می‌کند و sharp برای پارس AVIF به کتابخانهٔ زبان C libheif وابسته است. یک سرریز heap در libheif (اطلاعیه: GHSA-g89c-p67h-r497) می‌تواند هنگام پردازش یک فایل AVIF ساخته‌شده به‌وسیلهٔ مهاجم منجر به اجرای کد شود (CVSS v4: 9.5).

چگونگی رخداد حمله

  • فایل AVIF دستکاری‌شده شامل ارجاعات تو در تو به identity-derivation و auxiliary item است تا libheif تصویری دیکودشده با دو ورودی Alpha در عمق بیت‌های متفاوت بسازد.
  • مقیاس‌کننده ابتدا بافری با اندازهٔ ورودی اول (آلفای 8 بیتی) تخصیص می‌دهد، اما سپس مقادیر 16 بیتی از ورودی دوم را می‌نویسد و در نتیجه حدود 16٬384 بایت فراتر از مرز تخصیص بازنویسی می‌شود.
  • این نوشتن خارج از محدوده می‌تواند به فساد حافظه و در برخی شرایط به اجرای کد از راه دور منجر شود.

گزارش‌دهندگان یک اثباتِ مفهوم پایتون ارائه کرده‌اند که فساد heap را تحت AddressSanitizer بازتولید می‌کند؛ با این حال اجرای کد به‌صورت مستقل در چندین اپلیکیشن تأیید نشده است.

نمایی از گزارش امنیتی Next.js و Vercel درباره AVIF و آسیب‌پذیری‌ها

کدام اپلیکیشن‌ها در معرض AVIF قرار دارند؟

  • بهینه‌سازی AVIF در Next.js تنها زمانی فعال می‌شود که سایت به‌صراحت image/avif را در گزینهٔ formats در next.config.js اضافه کند. در صورت نداشتن این پیکربندی، آن استقرارها در برابر CVE مربوطه مصون هستند.
  • نسخه‌های libheif تا v1.23.1 آسیب‌پذیر بوده‌اند؛ تا زمان انتشار نسخهٔ پایدار upstream، تیم Next.js به‌طور موقت بهینه‌سازی AVIF را در انتشارهای پچ‌شده غیرفعال کرده است.

چرخه افشا، اعتبارها و زمان‌بندی

Vercel تاریخ انتشار پچ را به‌دلیل شناسایی یک نقص بحرانی دیگر در یکی از وابستگی‌های upstream جلو برد. در یادداشت‌های تغییرات از پژوهشگرانی مانند evolutionstorm و B0RI بابت افشای مسئولانه نقص ویندوز قدردانی شده و افشای مربوط به AVIF به تیم Hacktron نسبت داده شده است. نگهداران libheif نیز اطلاعیهٔ خود را منتشر کرده و پژوهشگرانی مانند rootxharsh و KarimPwnz در آن مشارکت داشته‌اند.

توصیه‌های عملی برای توسعه‌دهندگان و مدیران سیستم

  • اگر سرور شما روی ویندوز است، فوراً Next.js را به نسخه‌های 15.5.24 یا 16.3.3 ارتقا دهید.
  • پیکربندی formats در next.config.js را بررسی کنید؛ در صورت عدم نیاز به AVIF، آن را فعال نکنید تا در برابر نقص libheif ایمن بمانید.
  • لاگ‌های مرتبط با تبدیل تصویر و درخواست‌های حاوی فایل AVIF را بررسی کنید تا فعالیت‌های مشکوک شناسایی شود.
  • برای ردیابی جزئیات فنی و وضعیت به‌روزرسانی libheif از مخزن رسمی استفاده کنید: libheif Releases.

جمع‌بندی و چشم‌انداز

رخداد مؤکدِ دیگری است بر وسعت و حساسیت زنجیرهٔ وابستگی‌ها در نرم‌افزارهای وب. تقویت فرایندهای مدیریت وابستگی، اسکن آسیب‌پذیری و پیکربندی ایمن — به‌ویژه برای تبدیل و پردازش فایل‌های کاربرمحور— ضروری است تا خطرات ناشی از کتابخانه‌های ثالث کاهش یابد.

منابع و مطالعه بیشتر: صفحه انتشار Next.js در گیت‌هاب (Next.js Releases), اطلاعیهٔ libheif (libheif), و توضیحات امنیتی GHSA (GHSA).