مشاوره امنیتی: CVE-2025-66478 | Next.js

6 دسامبر، 9:05 بعد از ظهر PST: اگر برنامه شما از 4 دسامبر 2025 در ساعت 13:00 PT آنلاین و بدون وصله بود، اکیداً توصیه میکنیم که تمام اسرار مورد استفاده را بچرخانید و از مهمترین آنها شروع کنید.
6 دسامبر، 7:29 صبح به وقت PST: یک بسته npm برای به روز رسانی برنامه های Next.js آسیب دیده منتشر شد. از آن استفاده کنید
npx fix-react2shell-nextبرای به روز رسانی هم اکنون یا برای کسب اطلاعات بیشتر به مخزن GitHub مراجعه کنید.
یک آسیب پذیری حیاتی در پروتکل React Server Components (RSC) شناسایی شد. این آسیبپذیری بهعنوان CVSS 10.0 ارزیابی میشود و میتواند اجرای کد از راه دور را هنگام پردازش درخواستهای کنترلشده توسط مهاجم در محیطهای وصلهنشده اجازه دهد.
این آسیبپذیری از پیادهسازی بالادستی React (CVE-2025-55182) سرچشمه میگیرد. این توصیه (CVE-2025-66478) با استفاده از App Router تأثیر پایین دستی را بر برنامه های Next.js ردیابی می کند.
پروتکل آسیبپذیر RSC به ورودیهای نامعتبر اجازه میدهد بر رفتار اجرای سمت سرور تأثیر بگذارند. تحت شرایط خاص، یک مهاجم می تواند درخواست هایی ایجاد کند که مسیرهای اجرای ناخواسته را در سرور ایجاد کند. این می تواند منجر به اجرای کد از راه دور در محیط های بدون اصلاح شود.
همه کاربران باید فورا به یک نسخه وصله شده ارتقا دهند. برای دستورالعمل های خاص به بخش اقدام مورد نیاز مراجعه کنید.
برنامه هایی که از React Server Components با App Router استفاده می کنند، هنگام اجرا تحت تأثیر قرار می گیرند:
- Next.js 15.x
- Next.js 16.x
- Next.js 14.3.0-canary.77 و نسخه های بعدی قناری
برنامه های Next.js 13.x، Next.js 14.x stable، Pages Router و Edge Runtime تحت تأثیر قرار نمی گیرند.
این آسیب پذیری در نسخه های زیر Next.js با وصله ها به طور کامل برطرف شده است:
- 15.0.5
- 15.1.9
- 15.2.6
- 15.3.6
- 15.4.8
- 15.5.7
- 16.0.7
ما همچنین نسخه های بسته بندی شده Canary را برای Next.js 15 و 16 منتشر کرده ایم:
- 15.6.0-canary.58 (برای نسخه های قناری 15.x)
- 16.1.0-canary.12 (برای نسخه های قناری 16.x)
این نسخهها شامل اجرای سختشده React Server Components است.
همه کاربران باید به آخرین نسخه پچ در خط انتشار خود ارتقا دهند:
npm install next@15.0.5 # for 15.0.x
npm install next@15.1.9 # for 15.1.x
npm install next@15.2.6 # for 15.2.x
npm install next@15.3.6 # for 15.3.x
npm install next@15.4.8 # for 15.4.x
npm install next@15.5.7 # for 15.5.x
npm install next@16.0.7 # for 16.0.x
npm install next@15.6.0-canary.58 # for 15.x canary releases
npm install next@16.1.0-canary.12 # for 16.x canary releases
اگر از Next.js 14.3.0-canary.77 یا نسخه جدیدتر قناری استفاده می کنید، به آخرین نسخه پایدار 14.x بروید:
اگر در حال حاضر از ساختهای قناری برای فعال کردن PPR استفاده میکنید، میتوانید به 15.6.0-canary.58 بهروزرسانی کنید، که شامل یک پچ برای آسیبپذیری است در حالی که همچنان از PPR پشتیبانی میکند. برای سایر روشهای اصلاح نسخههای قدیمیتر، این پست بحث را ببینید.
اجرا کنید npx fix-react2shell-next برای اجرای یک ابزار تعاملی که می تواند نسخه ها را بررسی کند و تغییرات قطعی نسخه را مطابق با نسخه های توصیه شده در بالا انجام دهد. برای جزئیات کامل به مخزن GitHub مراجعه کنید.
هیچ راه حلی وجود ندارد – ارتقاء به نسخه وصله شده مورد نیاز است.
لینک عنوان را کپی کنیدمتغیرهای محیطی چرخشی
پس از وصله نسخه خود و استقرار مجدد برنامه، توصیه می کنیم که تمام اسرار برنامه خود را تغییر دهید. درباره کار با متغیرهای محیطی در اسناد اینجا بیاموزید.
با تشکر از Lachlan Davidson برای کشف و افشای مسئولانه این آسیب پذیری. ما عمداً جزئیات فنی را در این نکته محدود می کنیم تا از توسعه دهندگانی که هنوز ارتقاء نداده اند محافظت کنیم.



