آسیب‌پذیری‌های CVE-2025-66478 و CVE–2025–55182

معرفی اکسپلویت

  • پلتفرم آسیب‌پذیر: React Server Components (ویژگی فعال در محیط‌های React و برنامه‌هایی که از RSC استفاده می‌کنند، شامل Next.js)
  • نسخه‌های آسیب‌پذیر: نسخه‌های 19.0.0، 19.1.0، 19.1.1 و 19.2.0 از React Server Components
  • تاریخ ارائه وصله امنیتی: 1404/09/12
  • نوع آسیب‌پذیری: Remote Code Execution (RCE)
  • درجه خطر (CVSSv3): حیاتی با امتیاز: 10.0
  • وضعیت بهره‌برداری:‌ انتشار روال بهره‌برداری (PoC)

توضیحات فنی

شناسه CVE‑2025‑55182 مربوط به یک آسیب‌پذیری اجرای کد از راه دور است که ریشه آن در قابلیت React Server Components در فریم‌ورک React قرار دارد. قابلیت مذکور به‌ منظور رندر مولفه‌ها در سمت سرور طراحی شده اما در نسخه‌های آسیب‌پذیر، به‌دلیل پردازش ناایمن داده‌های ورودی و عدم اعتبارسنجی کافی، امکان تزریق و اجرای کد دلخواه مهاجم در فرآیند Node.js را فراهم می‌کند.

با توجه به وابستگی فریم‌ورک Next.js و سایر برنامه‌های مبتنی بر React به React Server Components، هر محیطی که از این قابلیت در نسخه‌های آسیب‌پذیر استفاده کند، به‌صورت غیرمستقیم در معرض این آسیب‌پذیری بحرانی قرار دارد.

جزئیات آسیب‌پذیری

در معماری RSC، سرور React مسئول پردازش و اجرای کد برخی کامپوننت‌ها است و سپس نتیجه را به مرورگر می‌فرستد. این پردازش شامل دریافت داده‌ها از درخواست‌های HTTP و تبدیل آن‌ها به اشیاء جاوا اسکریپت سمت سرور (deserialization) می‌شود. در نسخه‌های آسیب‌پذیر فرآیند deserialization داده‌های ورودی به‌صورت ناایمن و بدون اعتبارسنجی کافی انجام می‌شود.

این امر به مهاجم اجازه می‌دهد بدون نیاز به احراز هویت و تنها از طریق ارسال درخواست‌های HTTP دستکاری‌ شده، کد دلخواه خود را در سمت سرور اجرا کند. مهاجم می‌تواند با ارسال payloadهای دستکاری‌شده باعث شود که کدهای مخرب توسط سرور به‌عنوان کد قابل اجرا تفسیر شوند و نتیجه مستقیم این نقص، اجرای کد دلخواه از راه دور در محیط سرور است.

همان‌ طور که گفته شد، Next.js و سایر فریم‌ورک‌ها ممکن است از RSC برای Server-Side Rendering استفاده کنند، این آسیب‌پذیری به‌ صورت غیرمستقیم بر تمامی برنامه‌هایی که RSC نسخه آسیب‌پذیر را فعال دارند، اثرگذار است. در سناریوی اجرای PoC، ارسال یک درخواست HTTP دستکاری‌شده برای سرویس مبتنی بر React Server Components، منجر به پردازش غیرمنتظره داده‌ها در سمت سرور می­شود.

در نتیجه این رفتار، امکان اجرای دستورات سیستم‌ عامل با مجوزها و دسترسی‌های فرآیند Node.js فراهم می‌شود که نشانه آن، ایجاد پردازه‌های فرزند غیرعادی برای فرآیند والد Node.js، بازگشت خروجی دستورات در پاسخ سرور برای مهاجم، و ثبت خطاها و رویدادهای نامعمول در لاگ‌های برنامه است. این مشاهدات تأیید می‌کند که آسیب‌پذیری اجرای کد از راه دور در محیط هدف با موفقیت قابل اکسپلویت بوده است.

اکسپلویت از CVE‑2025‑55182 و اجرای کد از دور

تصویر ۱- اکسپلویت از آسیب‌پذیری و اجرای دستورات دلخواه

نحوه وصله آسیب‌پذیری

✅ بهترین راهکار جهت رفع آسیب‌پذیری به‌روزرسانی React به نسخه‌ای بالاتر از نسخه‌های آسیب‌پذیر (پس از 19.2.0) است.

https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components

جهت به‌روزرسانی فریم‌ورک‌هایی که از React Server Components استفاده می‌کنند، به آدرس زیر مراجعه شود.

https://nextjs.org/blog/CVE-2025-66478

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

  • غیرفعال‌سازی یا محدودسازی استفاده از React Server Components

  • اعمال محدودیت‌های امنیتی بر روی پردازه Node.js مانند کاهش سطح دسترسی سیستم‌عامل

  • نظارت بر لاگ‌ها و رفتارهای غیرعادی سرویس

✅ به منظور مقابله با تهدیدات احتمالی و جهت حصول اطمینان از امنیت سیستم خود توصیه می‌شود اقدام به نصب آنتی‌ویروس پادویش شود.

توجه

📌گفتنی است که آسیب‌پذیری CVE-2025-66478 در پایگاه داده NVD به‌ صورت «Rejected» ثبت شده، چرا که این شناسه معادل (Duplicate) از آسیب‌پذیری اصلی CVE-2025-55182 بوده و به همان نقص مربوط می‌شود.