یک آسیبپذیری اجرای کد از راه دور (RCE) با شناسه CVE-2025-11953 در پکیج محبوب @react-native-community/cli کشف شده است. این پکیج که تقریباً ۲ میلیون بار دانلود هفتگی دارد، ابزار خط فرمان اصلی برای چارچوب React Native محسوب میشود؛ چارچوبی که برای ساخت اپلیکیشنهای موبایل چندسکویی بسیار مورد استفاده قرار میگیرد.
این باگ با امتیاز CVSS 9.8، به دلیل امکان سوءاستفاده از راه دور، پیچیدگی کم و پتانسیل آسیب بسیار بالا، به مهاجم اجازه میدهد بدون احراز هویت و از طریق سرور توسعهدهنده، دستورات دلخواه سیستمعامل را روی دستگاه اجرا کند.
React Native CLI سالها پیش از هسته جدا شد تا نگهداری سادهتر شود و مسئول وظایفی مانند ایجاد پروژه جدید، اجرای شبیهسازها و راهاندازی Metro Bundler است. اجرای دستوراتی مثل npm start یا npx react-native run-android در واقع این سرور را فعال میکند.
اما پژوهشگران JFrog کشف کردند که اندپوینت /open-url در این سرور ورودی کاربر را بدون بررسی ایمنی، مستقیماً به تابع open() از کتابخانه NPM open پاس میدهد. این تابع در ویندوز قابلیت اجرای مستقیم دستورات شل را دارد. مثالهای اثباتی شامل اجرای calc.exe یا ایجاد فایلهایی مانند pwned.txt هستند.
هرچند در macOS و Linux اجرای مستقیم محدودتر است، اما با ترکیب روشها و تنظیم هندلرهای URI، امکان بهرهبرداری پیشرفته وجود دارد.
نکته خطرناکتر: سرور Metro برخلاف پیامهای کنسول، به طور پیشفرض روی ۰.۰.۰.۰ اجرا میشود؛ یعنی روی تمام اینترفیسهای شبکه در دسترس است. این یعنی مهاجم از راه دور میتواند مستقیماً به این اندپوینت دسترسی پیدا کند.
نسخههای آسیبپذیر مربوط به @react-native-community/cli-server-api بین ۴.۸.۰ تا ۲۰.۰.۰-alpha.2 هستند. پروژههایی که Metro را برای Hot Reload استفاده میکنند یا CLI را بهصورت Global نصب کردهاند، ریسک بیشتری دارند.
تیم امنیت Meta بهسرعت وصله را منتشر کرد و این مشکل در نسخه ۲۰.۰.۰ رفع شده است.

یک نظر