آسیب‌پذیری بحرانی در React Native CLI میلیون‌ها توسعه‌دهنده را در معرض حملات از راه دور قرار داد!

اشتراک گذاری

Critical React Native CLI Flaw Exposed Millions of Developers to Remote Attacks گروه والنربایت vulnerbyte

جزئیات جدیدی از یک آسیب‌پذیری امنیتی بحرانی که در بسته‌ی محبوب React Native CLI در npm شناسایی و اکنون وصله شده، منتشر شده است. این نقص می‌توانست در شرایط خاصی برای اجرای دستورات مخرب در سیستم‌عامل مورد سوءاستفاده قرار گیرد.

طبق گزارش منتشرشده توسط Or Peles، پژوهشگر ارشد امنیت در شرکت JFrog،

«این آسیب‌پذیری به مهاجمان غیرمعتبر و از راه دور اجازه می‌دهد به‌سادگی دستورات دلخواه سیستم‌عامل را روی سیستمی که سرور توسعه‌ی react-native-community/cli در آن در حال اجراست، اجرا کنند — و این موضوع خطر قابل‌توجهی برای توسعه‌دهندگان محسوب می‌شود.»

این نقص با شناسه‌ی CVE-2025-11953 و امتیاز ۹.۸ از ۱۰ در مقیاس CVSS ثبت شده که نشان‌دهنده‌ی شدت بسیار بحرانی آن است.
آسیب‌پذیری فوق، نسخه‌های ۴.۸.۰ تا ۲۰.۰.۰-alpha.2 از بسته‌ی @react-native-community/cli-server-api را تحت تأثیر قرار می‌دهد و در نسخه‌ی ۲۰.۰.۰ که در ماه گذشته منتشر شد، برطرف شده است.

بسته‌ی خط فرمان React Native CLI که توسط شرکت Meta نگهداری می‌شود، ابزار اصلی توسعه‌دهندگان برای ساخت اپلیکیشن‌های موبایل React Native است و به‌طور میانگین بین ۱.۵ تا ۲ میلیون بار در هفته دانلود می‌شود.

به گفته‌ی شرکت JFrog، منشاء آسیب‌پذیری از نحوه‌ی عملکرد سرور توسعه‌ی Metro در React Native است. این سرور که برای ساخت کد جاوااسکریپت و فایل‌های مربوطه استفاده می‌شود، به‌طور پیش‌فرض به رابط‌های خارجی متصل می‌شود (به‌جای localhost) و مسیر /open-url را در معرض تزریق دستور سیستم‌عامل (OS Command Injection) قرار می‌دهد.

Peles در توضیح این بخش می‌گوید:

«درخواست POST به مسیر /open-url شامل داده‌ی ورودی کاربر است که مستقیماً به تابع ناامن open() از پکیج open ارسال می‌شود. این موضوع باعث می‌شود مهاجم بتواند دستورات سیستم‌عامل را اجرا کند.»

در نتیجه، یک مهاجم شبکه‌ای می‌تواند با ارسال درخواست POST خاص، کدهای دلخواه خود را اجرا کند.
در سیستم‌عامل ویندوز، مهاجم قادر است دستورات shell دلخواه را با پارامترهای کاملاً کنترل‌شده اجرا کند، و در سیستم‌عامل‌های لینوکس و macOS نیز امکان اجرای باینری‌های دلخواه (با کنترل محدود پارامترها) وجود دارد.

هرچند این مشکل اکنون وصله شده، اما توسعه‌دهندگانی که React Native را همراه با فریم‌ورک‌هایی استفاده می‌کنند که به Metro وابسته نیستند، تحت تأثیر قرار نمی‌گیرند.

Peles در پایان هشدار می‌دهد:

«این آسیب‌پذیری روز صفر به‌ویژه خطرناک است، زیرا بهره‌برداری از آن ساده است، نیازی به احراز هویت ندارد و سطح حمله‌ی وسیعی را در بر می‌گیرد. همچنین ریسک‌های پنهان موجود در کدهای شخص ثالث را آشکار می‌کند.»

او در ادامه افزود:

«برای تیم‌های توسعه و امنیت، این رویداد یادآور اهمیت استفاده از اسکن‌های خودکار و جامع امنیتی در زنجیره‌ی تأمین نرم‌افزار است تا نقص‌های قابل بهره‌برداری قبل از آسیب به سازمان شناسایی و برطرف شوند.»

منابع:

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

مطالب مرتبط