React2Shell؛ نقص بحرانی در React و Next.js با امکان اجرای کد از راه دور

React2shell-Index

فهرست مطالب

یک آسیب‌پذیری با حداکثر سطح خطر که React2Shell نام‌گذاری شده، در پروتکل Flight مربوط به React Server Components (RSC) شناسایی شده است. این نقص امنیتی به مهاجمان اجازه می‌دهد بدون نیاز به احراز هویت، کد دلخواه خود را روی سرورهای برنامه‌های مبتنی بر React و Next.js اجرا کنند. React2Shell یک آسیب‌پذیری اجرای کد از راه دور بدون نیاز به احراز هویت (RCE) است که تنها با یک درخواست HTTP قابل بهره‌برداری بوده و تمام فریم‌ورک‌هایی را که از React Server Components استفاده می‌کنند تحت تأثیر قرار می‌دهد؛ از جمله Next.js که از همان منطق سریال‌سازی داده‌ها بهره می‌برد.محققان پلتفرم امنیت ابری Wiz هشدار داده‌اند که این آسیب‌پذیری بسیار ساده قابل بهره‌برداری است و در تنظیمات پیش‌فرض وجود دارد.

React یک کتابخانه متن‌باز جاوااسکریپتی برای ساخت رابط‌های کاربری است که توسط Meta نگهداری می‌شود و به‌طور گسترده در پروژه‌های فرانت‌اند استفاده می‌شود. Next.js که توسط Vercel توسعه داده می‌شود، فریم‌ورکی مبتنی بر React است که قابلیت‌هایی مانند رندر سمت سرور، مسیریابی و API endpointها را فراهم می‌کند. هر دو فناوری حضور گسترده‌ای در محیط‌های ابری دارند.

این نقص توسط پژوهشگر امنیتی لاکلن دیویدسن (Lachlan Davidson) کشف و در تاریخ ۲۹ نوامبر به تیم React گزارش شد. این آسیب‌پذیری امتیاز خطر 10 از 10 دریافت کرده و با شناسه‌های CVE-2025-55182 برای React و برای فریم‌ورک Next.js شناسه CVE-2025-66478 در نظر گرفته شده بود، اما این شناسه در پایگاه داده ملی آسیب‌پذیری‌ها (NVD) به‌عنوان تکراری از CVE-2025-55182 رد شده است.

بسته‌های آسیب‌پذیر (در تنظیمات پیش‌فرض)

این آسیب‌پذیری در بسته‌هایی وجود دارد که پیاده‌سازی سمت سرور React Server Components و پروتکل Flight را برای باندلرهای مختلف فراهم می‌کنند. در تنظیمات پیش‌فرض، بسته‌های زیر تحت تأثیر این نقص قرار می‌گیرند:

  • react-server-dom-parcel
  • react-server-dom-turbopack
  • react-server-dom-webpack

در هشدار امنیتی React آمده است:

حتی اگر برنامه شما هیچ React Server Functionای پیاده‌سازی نکرده باشد، در صورتی که از React Server Components پشتیبانی کند، همچنان ممکن است آسیب‌پذیر باشد.

طبق اعلام React، نسخه‌های 19.0، 19.1.0، 19.1.1 و 19.2.0 آسیب‌پذیر هستند. Next.js نیز در نسخه‌های آزمایشی از 14.3.0-canary.77 به بعد و تمام نسخه‌های شاخه‌های 15.x و 16.x که پایین‌تر از نسخه‌های اصلاح‌شده هستند، تحت تأثیر قرار دارد.

بهره‌برداری فعال از نقص بحرانی React2Shell در حملات مرتبط با چین

تنها چند ساعت پس از افشای عمومی آسیب‌پذیری React2Shell با شدت حداکثری (CVE-2025-55182)، چندین گروه تهدید مرتبط با چین شروع به سوءاستفاده عملی از این نقص در برنامه‌های مبتنی بر React و Next.js کردند.

بر اساس گزارش Amazon Web Services (AWS)، گروه‌های تهدید Earth Lamia و Jackpot Panda که هر دو با چین ارتباط دارند، تقریباً بلافاصله پس از افشای عمومی این آسیب‌پذیری، بهره‌برداری از آن را آغاز کرده‌اند.

گروه Earth Lamia بر بهره‌برداری از آسیب‌پذیری‌های برنامه‌های وب تمرکز دارد و سازمان‌هایی در بخش‌های مالی، دولتی، دانشگاهی و فناوری را در مناطق مختلف جهان هدف قرار می‌دهد.

در مقابل، Jackpot Panda عمدتاً نهادهای مستقر در شرق و جنوب‌شرق آسیا را هدف می‌گیرد و فعالیت‌های آن با تمرکز بر جمع‌آوری اطلاعات امنیتی و ضدفساد انجام می‌شود.

هانی‌پات‌های AWS همچنین فعالیت‌هایی را ثبت کرده‌اند که به خوشه‌های تهدید شناخته‌شده نسبت داده نشده‌اند، اما منشأ آن‌ها زیرساخت‌های مستقر در چین بوده است.بسیاری از این خوشه‌های مهاجم از زیرساخت‌های ناشناس‌ساز مشترک استفاده می‌کنند که شناسایی دقیق و انتساب حملات را پیچیده‌تر می‌کند.

لاکلن دیویدسن، پیش‌تر درباره وجود اکسپلویت‌های جعلی هشدار داده بود. با این حال، اکسپلویت‌هایی که توسط استیون فیوئر از Rapid7 و جو دسیمونه از Elastic Security تأیید شده‌اند، اکنون در GitHub در دسترس هستند.

طبق مشاهدات AWS، حملات انجام‌شده ترکیبی از اکسپلویت‌های عمومی (از جمله برخی نمونه‌های ناقص)، به‌همراه آزمون و خطای دستی و رفع اشکال در لحظه علیه محیط‌های هدف بوده است.همچنین ، پلتفرم مدیریت سطح حمله Assetnote یک اسکنر React2Shell را در GitHub منتشر کرده است که می‌توان از آن برای بررسی آسیب‌پذیری محیط‌ها در برابر این آسیب پذیری استفاده کرد.

فعالیت‌های مشاهده‌شده شامل موارد زیر است:

  • تلاش‌های مکرر با payloadهای مختلف
  • اجرای دستورات لینوکسی مانند whoami و id
  • تلاش برای ایجاد فایل‌هایی مانند /tmp/pwned.txt
  • تلاش برای خواندن فایل /etc/passwd

سوءاستفاده از نقص React2Shell

پژوهشگران امنیتی اعلام کرده‌اند که بیش از ۷۷ هزار آدرس IP در معرض اینترنت نسبت به React2Shell آسیب‌پذیر هستند. همچنین تأیید شده که مهاجمان تاکنون موفق به نفوذ به بیش از ۳۰ سازمان در بخش‌های مختلف شده‌اند.

آدرس IP در معرض خطر نسبت به React2Shell

GreyNoise گزارش می‌دهد که مهاجمان معمولاً حملات خود را با اجرای دستورات ساده PowerShell برای انجام محاسبات ریاضی آغاز می‌کنند تا آسیب‌پذیری سیستم را تأیید کنند؛ روشی که ردپای کمی از خود به‌جا می‌گذارد:

powershell -c "40138*41979"
powershell -c "40320*43488"

پس از تأیید اجرای کد از راه دور، مهاجمان اقدام به اجرای دستورات PowerShell رمزگذاری‌شده با Base64 می‌کنند تا اسکریپت‌های اضافی را مستقیماً در حافظه دانلود و اجرا کنند:

powershell -enc <base64>

یکی از دستورات مشاهده‌شده، اسکریپت مرحله دوم را از یک سایت خارجی اجرا می‌کند که هدف آن غیرفعال‌سازی AMSI برای دور زدن راهکارهای امنیتی و نصب payloadهای بیشتر است.

جاستین مور، مدیر ارشد واحد Unit 42 در Palo Alto Networks، اعلام کرده است:

ما با اطمینان بالا فعالیت‌هایی را مشاهده کرده‌ایم که با گروه CL-STA-1015 (معروف به UNC5174) همخوانی دارد؛ گروهی که به‌عنوان کارگزار دسترسی اولیه و دارای ارتباط با وزارت امنیت دولتی چین شناخته می‌شود.

در این حملات، بدافزارهای زیر مشاهده شده‌اند:

  • Snowlight: بدافزار Dropper که امکان بارگذاری payloadهای بیشتر را برای مهاجم فراهم می‌کند.
  • Vshell: یک درِ پشتی رایج در میان گروه‌های هکری چینی برای دسترسی از راه دور، فعالیت‌های پس از نفوذ و حرکت جانبی در شبکه.

طبق اطلاعات VirusTotal، این اسکریپت در نهایت یک Beacon از Cobalt Strike روی سیستم قربانی نصب می‌کند که به مهاجمان امکان دسترسی پایدار به شبکه را می‌دهد.

سواستفاده هکرهای کره‌شمالی از نقض  React2Shell در حملات بدافزاری EtherRAT

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

پژوهشگران شرکت امنیت ابری Sysdig معتقدند این بدافزار با ابزارها و تاکتیک‌هایی هم‌راستاست که کره‌شمالی در کمپین‌های موسوم به Contagious Interview به کار می‌برد.

زنجیره حمله EtherRAT

به گفته Sysdig، EtherRAT ترکیبی از قابلیت‌های پیشرفته را به نمایش می‌گذارد، از جمله:

  • ارتباط فرماندهی و کنترل (C2) مبتنی بر بلاک‌چین
  • ماندگاری چندلایه در لینوکس
  • بازنویسی payload در لحظه
  • دور زدن مکانیزم‌های امنیتی با استفاده از یک Runtime کامل Node.js

همچنین طبق گزارش Sysdig، EtherRAT از یک زنجیره حمله چندمرحله‌ای استفاده می‌کند .در مرحله اول، یک دستور shell رمزگذاری‌شده با Base64 روی سیستم قربانی اجرا می‌شود. این دستور تلاش می‌کند اسکریپت مخربی به نام s.sh را با استفاده از curl، wget یا در صورت نیاز python3 دانلود کند و هر ۳۰۰ ثانیه این تلاش را تکرار می‌کند تا موفق شود.پس از دریافت اسکریپت، مراحل زیر انجام می‌شود:

  • فایل بررسی شده و مجوز اجرایی دریافت می‌کند.
  • اسکریپت اجرا می‌شود.
  • یک دایرکتوری مخفی در مسیر $HOME/.local/share/ ایجاد می‌شود.
image

یک Runtime قانونی Node.js نسخه 20.10.0 مستقیماً از وب‌سایت رسمی nodejs.org دانلود و استخراج می‌شود در ادامه، بدافزار:

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

Dropper جاوااسکریپتی مبهم‌سازی‌شده (با نام‌هایی تصادفی مانند .kxnzl4mtez.js) بلاک داده رمزگذاری‌شده را می‌خواند، آن را با یک کلید AES-256-CBC هاردکدشده رمزگشایی می‌کند و خروجی را به‌صورت یک فایل جاوااسکریپت مخفی دیگر روی سیستم می‌نویسد. Payload نهایی رمزگشایی‌شده، همان بدافزار EtherRAT است که با استفاده از باینری Node.js نصب‌شده در مراحل قبل اجرا می‌شود.

نشانه‌های یک ایمپلنت پیشرفته

بررسی‌ها نشان می‌دهد EtherRAT یک ایمپلنت پیشرفته با طراحی ضداختلال است که برای عملیات فرماندهی و کنترل (C2) از قراردادهای هوشمند اتریوم استفاده می‌کند؛ رویکردی غیرمعمول که مقاومت بالایی در برابر مسدودسازی زیرساخت ایجاد می‌کند.

این بدافزار با تکیه بر چندین منبع اتریوم، از مسموم‌سازی نود تکی و sinkhole شدن جلوگیری کرده و کدهای جاوااسکریپتی دریافتی از مهاجم را با استفاده از مکانیزم‌های داینامیک اجرا می‌کند؛ قابلیتی که عملاً یک شل تعاملی کامل Node.js در اختیار مهاجم قرار می‌دهد.

پژوهشگران Sysdig این تکنیک‌ها را هم‌راستا با فعالیت‌های منتسب به کره‌شمالی دانسته و به شباهت آن با روش EtherHiding و بدافزار BeaverTail در کمپین‌های Contagious Interview اشاره کرده‌اند.علاوه بر این، EtherRAT برای حفظ دسترسی، از چندین لایه ماندگاری هم‌زمان در لینوکس استفاده می‌کند که حتی پس از راه‌اندازی مجدد سیستم نیز بقای بدافزار را تضمین می‌کند.

توصیه‌های امنیتی

به‌دلیل شدت بالای این آسیب‌پذیری، سازمان‌ها در سراسر جهان به‌سرعت در حال نصب وصله‌ها و اعمال اقدامات حفاظتی هستند. شرکت Cloudflare قوانین تشخیص و مقابله اضطراری را در WAF خود فعال کرد، هرچند این اقدام در ابتدا به‌طور ناخواسته باعث اختلال در تعدادی از وب‌سایت‌ها شد که پس از اصلاح قوانین برطرف گردید.به سازمان‌هایی که از React Server Components یا فریم‌ورک‌های مبتنی بر آن استفاده می‌کنند توصیه می‌شود:

  • فوراً به نسخه‌های اصلاح‌شده به‌روزرسانی کنند.
  • برنامه‌ها را بازسازی و مجدداً مستقر (Redeploy) نمایند.
  • لاگ‌ها را برای نشانه‌هایی از اجرای PowerShell یا دستورات شل بررسی کنند.
  • ترافیک مربوط به Ethereum RPC را پایش نمایند.

0 دیدگاه

دیدگاهتان را بنویسید

Avatar placeholder

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دوازده + هشت =

ثبت سفارش آنتی‌ویروس سازمانی و دریافت مشاوره رایگان

سفارش آنتی‌ویروس سازمانی خود را ثبت نمایید. کارشناسان ما در اسرع وقت، درخواست شما را بررسی کرده و برای تکمیل فرآیند با شما تماس خواهند گرفت.