آسیب‌پذیری React2Shell: خطر اجرای کد از راه دور در کتابخانه React.js

آسیب‌پذیری React2Shell: خطر اجرای کد از راه دور در کتابخانه React.js

یک آسیب‌پذیری بحرانی برای اجرای کد از راه دور (Remote Code Execution – RCE) در کتابخانه React.js شناسایی شده است که امنیت بسیاری از برنامه‌های وب مدرن را به خطر می‌اندازد.

React.js چیست؟

React.js یک کتابخانه جاوااسکریپتی برای ساخت رابط‌های کاربری (UI) سریع و تعاملی با استفاده از اجزای قابل استفاده مجدد است. این آسیب‌پذیری به دلیل نحوه استفاده از React.js در سمت سرور رخ داده و به بالاترین درجه شدت (CVSS) با امتیاز ۱۰.۰ دسته‌بندی شده است.

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

محقق امنیتی، لاچلان دیویدسون، این آسیب‌پذیری را در ۲۹ نوامبر ۲۰۲۵ به تیم متا گزارش داده است. این نقص که با نام CVE-2025-55182 شناخته می‌شود، یادآور آسیب‌پذیری Log4Shell است که در سال ۲۰۲۱ کشف شد. از آنجا که React و Next.js به طور گسترده‌ای در بسیاری از برنامه‌های وب مدرن استفاده می‌شوند، این موضوع نگرانی‌های جدی ایجاد می‌کند.

سوءاستفاده موفقیت‌آمیز از React2Shell می‌تواند به مهاجم اجازه دهد کد دلخواه را اجرا کند و کنترل سرور قربانی را به دست بگیرد که منجر به افشای گسترده داده‌های حساس می‌شود. آری ایتن، مدیر تحقیقات امنیتی ابری در شرکت Tenable، با اشاره به این موضوع گفته است: «گستردگی React و Next.js و سهولت بهره‌برداری از آن‌ها، این اشکالات را قابل توجه می‌کند. بهره‌برداری از آن بسیار ساده است و می‌تواند بدون احراز هویت انجام شود.»

ایتن همچنین افزود: «یک درخواست HTTP مخرب می‌تواند اجرای کد از راه دور را در سمت سرور فعال کند که این موضوع مسئله را بسیار خطرناک می‌سازد». بر خلاف بسیاری از تهدیدات زنجیره تامین که فقط بر روی پیکربندی‌های نادر تاثیر می‌گذارند، این باگ از منطق اصلی سریال‌سازی (deserialization) چارچوب استفاده می‌کند و به احتمال زیاد در بسیاری از موارد قابل بهره‌برداری است.

طبق گزارش محققان شرکت JFrog (شرکت امنیت زنجیره تامین نرم افزار)، نرخ موفقیت بهره برداری از این آسیب پذیری در پیکربندی پیش فرض تقریباً ۱۰۰٪ است. سرورهای React که از نقاط پایانی React Server Function استفاده می‌کنند، در معرض خطر قرار دارند.

برنامه وب Next.js نیز در حالت پیش‌فرض خود در برابر این حمله آسیب‌پذیر است.

گزارش‌های اولیه و تلاش برای رفع

در زمان نگارش این مقاله، مشخص نیست که آیا سوء استفاده فعالی از این آسیب پذیری صورت گرفته است، اما گزارش‌هایی مبنی بر مشاهده فعالیت بهره‌برداری تا ۵ دسامبر ۲۰۲۶ وجود دارد. با انتشار عمومی این آسیب‌پذیری‌ها، انتظار می‌رود وضعیت به سرعت تغییر کند.

در ۵ دسامبر، شرکت OX Security هشدار داد که این نقص اکنون قابل سوء استفاده فعال است. آن‌ها در یک پست لینکدین اعلام کردند: «هکر maple3142 یک اثبات مفهوم (PoC) کارآمد منتشر کرده و تیم ما با موفقیت آن را تأیید کرده است. این دیگر نظریه‌ای نیست، بلکه منجر به اجرای کد از راه دور بدون احراز هویت در سرورهای React و Next.js آسیب‌پذیر می‌شود.»

JFrog همچنین گزارش داده است که PoC های جعلی در GitHub وجود دارند و تیم‌های امنیتی باید قبل از آزمایش، منابع را تأیید کنند.

راه حل و اقدامات لازم

برای رفع CVE-2025-55182 و CVE-2025-66478، تیم‌های امنیتی اکیداً توصیه می‌شود بسته‌های آسیب‌پذیر را به نسخه‌های اصلاح شده ارتقا دهند:

  • نسخه‌های 19.0، 19.1.0، 19.1.1 و 19.2.0 از React در معرض خطر قرار دارند.
  • یک رفع اشکال در نسخه‌های 19.0.1، 19.1.2 و 19.2.1 معرفی شده است.
  • در صورتی که از هر یک از بسته‌های آسیب‌پذیر استفاده می‌شود، باید فوراً به یکی از نسخه‌های اصلاح شده ارتقا یابد.

برای برنامه‌های Next.js، در مواردی که عملکرد App Router به طور گسترده مورد استفاده قرار نمی‌گیرد، می‌توان برنامه را با بازگشت به Pages Router و دنبال کردن راهنمای مهاجرت Next.js App Router، از این وضعیت خارج کرد.

نکات پایانی

این آسیب‌پذیری یادآور اهمیت به‌روزرسانی مداوم نرم‌افزارها و اتخاذ شیوه‌های امنیتی قوی است تا از بروز حوادث امنیتی جلوگیری شود.

📌 توجه: این مطلب از منابع بین‌المللی ترجمه و بازنویسی شده است.