آسیبپذیری بسیار بحرانی در React Server Components و Next.js با درجه اهمیت 10 (CVE-2025-55182 و CVE-2025-66478)

چهارشنبه – 12 آذر 1404 تیم React و سپس تیم Next.js یک آسیبپذیری امنیتی بسیار بحرانی را در بلاگهای خود افشا کردند که در پروتکل React Server Components (RSC) و پیادهسازیهای مرتبط با آن کشف شده است. این آسیبپذیری با درجه اهمیت CVSS 10.0 ثبت شده و امکان اجرای کد از راه دور (Remote Code Execution) را بدون نیاز به احراز هویت فراهم میکند.
این نقص امنیتی ابتدا با کد CVE-2025-55182 برای React گزارش شد و سپس اثرات آن در Next.js با کد CVE-2025-66478 منتشر گردید.
فهرست مطالب
خلاصهٔ آسیبپذیری
این آسیبپذیری به دلیل یک نقص در نحوه پردازش و دسیریالایز کردن درخواستهای ورودی در React Server Components و React Server Functions ایجاد میشود.
یک مهاجم میتواند با ارسال یک درخواست HTTP مخرب به هر Endpoint مربوط به RSC، منجر به اجرای کد دلخواه روی سرور شود.
نکته مهم این است که حتی اگر اپلیکیشن شما از Server Functions استفاده نکند، اما از React Server Components پشتیبانی کند، همچنان آسیبپذیر است.
چرا این آسیبپذیری بسیار خطرناک است؟
- بدون نیاز به احراز هویت (Unauthenticated)
- اجرای کد روی سرور (Remote Code Execution)
- امکان دسترسی کامل به سیستم زیرساختی
- نفوذ از طریق یک درخواست HTTP ساده
این سطح از آسیبپذیری با توجه به درجه اهمیت 10 نشاندهندهٔ تهدیدی در سطح پایینترین لایه امنیتی سیستمهاست.
گام مهم: چرخش (Rotate) همه متغیرهای محیطی
اگر اپلیکیشن شما تا قبل از ۴ دسامبر ۲۰۲۵ آنلاین و آسیبپذیر بوده، باید:
- تمام Secrets ها (کلیدها، رمزها، API Token ها و…) را فوراً تعویض کنید.
- اولویت با حساسترین اطلاعات است.
- این یعنی احتمال نشت API Key، Database Password، JWT Secret و… وجود دارد.
چه پروژههایی آسیبپذیر هستند؟
React (CVE-2025-55182)
نسخههای زیر آسیبپذیر هستند:
- react-server-dom-webpack — نسخههای 19.0، 19.1.0، 19.1.1، 19.2.0
- react-server-dom-parcel — نسخههای 19.0، 19.1.0، 19.1.1، 19.2.0
- react-server-dom-turbopack — نسخههای 19.0، 19.1.0، 19.1.1، 19.2.0
Next.js (CVE-2025-66478)
اپلیکیشنهایی که از App Router و RSC استفاده میکنند و مبتنی بر نسخههای زیر هستند، آسیبپذیرند:
- Next.js 15.x
- Next.js 16.x
- Next.js 14.3.0-canary.77 به بعد (نسخههای آزمایشی)
نسخههای غیر آسیبپذیر:
- Next.js 13.x
- Next.js 14.x نسخه پایدار
- Pages Router
- Edge Runtime
نسخههای رفعشده (Patched Versions)
نسخههای اصلاحشده برای React:
- 19.0.1
- 19.1.2
- 19.2.1
نسخههای اصلاحشده برای Next.js:
- 15.0.5
- 15.1.9
- 15.2.6
- 15.3.6
- 15.4.8
- 15.5.7
- 16.0.7
پچ نسخههای canary:
- 15.6.0-canary.58
- 16.1.0-canary.12
اقدامات فوری برای کاربران Next.js
دستورالعمل رسمی Next.js (منبع: Vercel)
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 یا بالاتر استفاده میکنید:
npm install next@14
همچنین ابزار رسمی رفع مشکل Next.js منتشر شده است:
npx fix-react2shell-next
اقدامات فوری برای کاربران React
دستورالعمل رسمی React (منبع: React Blog)
اگر از APIهای ناپایدار RSC در React Router استفاده میکنید، در صورت وجود، باید وابستگیهای زیر در فایل package.json را ارتقا دهید:
npm install react@latest npm install react-dom@latest npm install react-server-dom-parcel@latest npm install react-server-dom-webpack@latest npm install @vitejs/plugin-rsc@latest
Expo
برای آگاهی بیشتر درباره روشهای کاهش ریسک، مقاله منتشر شده در آدرس زیر را مطالعه کنید:
expo.dev/changelog
Redwood SDK
اطمینان حاصل کنید که نسخه SDK برابر یا بالاتر از مقدار زیر باشد:
rwsdk>=1.0.0-alpha.0
برای دریافت آخرین نسخه بتا:
npm install rwsdk@latest
بهروزرسانی به آخرین نسخه react-server-dom-webpack:
npm install react@latest react-dom@latest react-server-dom-webpack@latest
برای دستورالعمل های بیشتر migration به مستندات Redwood مراجعه کنید.
Waku
برای ارتقای Waku و پکیجهای مرتبط، دستور زیر را اجرا کنید:
npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest
برای دستورالعمل های بیشتر migration به مستندات Waku مراجعه کنید.
@vitejs/plugin-rsc
بهروزرسانی به آخرین نسخه افزونه RSC:
npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest
react-server-dom-parcel
بهروزرسانی به آخرین نسخه:
npm install react@latest react-dom@latest react-server-dom-parcel@latest
react-server-dom-turbopack
بهروزرسانی به آخرین نسخه:
npm install react@latest react-dom@latest react-server-dom-turbopack@latest
react-server-dom-webpack
بهروزرسانی به آخرین نسخه:
npm install react@latest react-dom@latest react-server-dom-webpack@latest
جمعبندی
این آسیبپذیری یکی از خطرناکترین رخدادهای امنیتی تاریخ اکوسیستم React و Next.js است.
اگر از RSC یا App Router استفاده میکنید:
فوراً نسخههای Next.js و React را ارتقا دهید
سپس تمام Secrets را Rotate کنید
اپ را مجدداً Deploy کنید.
Next.js security advisory (CVE-2025-66478)React security advisory (CVE-2025-55182)React blog: Critical Security Vulnerability in React Server ComponentsVercel Knowledge Base: React2Shell Security BulletinNetlify Blog: Netlify’s response to the critical React security vulnerabilityAWS Security Blog: China-nexus cyber threat groups rapidly exploit React2Shell vulnerabilityGoogle Cloud Blog: Responding to CVE-2025-55182: Secure your React and Next.js workloadsFastly Blog: Fastly’s Proactive Protection for React2Shell, Critical React RCE CVE-2025-55182 and CVE-2025-66478Akamai Blog: CVE-2025-55182: React and Next.js Server Functions Deserialization RCE

