یک پژوهشگر امنیتی به نام Rasmus Moorats موفق شد با بهرهبرداری از دو نقص امنیتی در نرمافزارهای اختصاصی OnePlus، دسترسی Root (بالاترین سطح دسترسی در اندروید) را روی دستگاه OnePlus 15 با آخرین نسخه OxygenOS به دست آورد. نکته حائز اهمیت این است که اپلیکیشن مخرب برای اجرای این حمله به هیچگونه مجوز (Permission) خاصی از کاربر نیاز ندارد.
جزئیات فنی زنجیره حمله (Exploit Chain)
این حمله از طریق ترکیب دو آسیبپذیری مجزا صورت میگیرد:
- مرحله اول: نقص در سرویس
AtlasService. این سرویس که وظیفه جمعآوری دادههای Debugging را دارد و با دسترسی Root اجرا میشود، درخواستها را از هر اپلیکیشنی بدون احراز هویت میپذیرد. با ارسال یک درخواست دستکاری شده، مهاجم میتواند دستورات سیستمی را در منطقه محدودdumpstateاجرا کند. - مرحله دوم: بهرهبرداری از سرویس سختافزاری
olc2. این سرویس هر دستور Shell را اجرا میکند، اما تنها شرط آن این است که فراخواننده باید دسترسی Root داشته باشد. از آنجایی که مرحله اول دسترسی Root (هرچند محدود) را فراهم کرده است، مهاجم میتواند از این نقص برای کسب تمامی امتیازات سطح پایین لینوکس و بارگذاری کدهای Kernel استفاده کند.
دامنه اثرگذاری و وضعیت اصلاحیه
شرکت OnePlus تایید کرده است که این آسیبپذیریها علاوه بر مدلهای مذکور، بسیاری از دستگاههای دیگر این برند و همچنین محصولات OPPO را نیز تحت تاثیر قرار میدهد، زیرا هر دو شرکت از زیرساخت نرمافزاری مشترکی استفاده میکنند. این حمله به صورت Local است و برای اجرا نیاز دارد که ابتدا یک اپلیکیشن مخرب روی دستگاه نصب شده باشد؛ بنابراین امکان اجرای آن از راه دور (Remote) وجود ندارد.
چالشهای افشای آسیبپذیری
طبق گزارش پژوهشگر، OnePlus در پاسخ به این گزارش اعلام کرده است که حق انحصاری تصمیمگیری درباره زمان انتشار جزئیات آسیبپذیری را دارد و هشدار داده است که انتشار اطلاعات بدون اجازه شرکت میتواند منجر به پیگیریهای قانونی شود. با وجود گذشت چندین ماه از گزارش اولیه در ماه می، تا زمان انتشار این خبر، هیچ CVE رسمی یا اصلاحیه (Patch) برای این نقصها ارائه نشده است.
توصیههای امنیتی
با توجه به اینکه هیچ راهکار فنی برای مسدود کردن این مسیر تا زمان انتشار آپدیت وجود ندارد، تنها دفاع کاربره تنها نصب اپلیکیشنها از منابع مورد اعتماد است تا از نصب نرمافزارهای مخرب که پیشنیاز این حمله هستند، جلوگیری شود.