یک آسیبپذیری از نوع Path Traversal (CWE-22) در اپلیکیشن Alan: Health Insurance برای سیستمعامل اندروید (با پکیج com.alanmobile) نسخه 1.450.0 شناسایی شده است. این نقص امنیتی به اپلیکیشنهای مخربی که از قبل روی همان دستگاه نصب شدهاند (Co-resident)، اجازه میدهد تا با سوءاستفاده از یک فعالیت صادر شده (Exported Activity)، فایلهای خود را در مسیرهای غیرمجاز درون محیط Sandbox اپلیکیشن بازنویسی کنند.
جزئیات فنی و نحوه حمله
این آسیبپذیری از طریق یک فعالیت به نام ShareReceiverActivity که به صورت پیشفرض Exported است، قابل بهرهبرداری میباشد. یک اپلیکیشن مخرب میتواند یک Intent از نوع ACTION_SEND ارسال کند که حاوی یک Content URI است. اگر فیلد _display_name در این URI شامل کاراکترهای پیمایش دایرکتوری (Directory Traversal sequences) مانند ../ باشد، اپلیکیشن Alan بدون پاکسازی (Sanitization) این ورودی، مسیر مقصد را به اشتباه میسازد.
در نتیجه، مهاجم میتواند فایلهای خود را در مسیرهای حساس درون Sandbox اپلیکیشن، از جمله موارد زیر بازنویسی کند:
- پایگاههای داده (Databases)
- تنظیمات ذخیره شده (shared_prefs)
- دادههای مربوط به WebView
این عملیات میتواند منجر به تغییر وضعیت اپلیکیشن (State Tampering) یا حتی اجرای کد (Code Execution) در بافت (Context) اپلیکیشن شود.
محدودیتها و سطح خطر
با وجود اینکه این آسیبپذیری میتواند منجر به اجرای کد شود، اما سطح خطر آن به دلیل ماهیت Local (AV:L)، در رده متوسط (Medium) قرار میگیرد. برخلاف آسیبپذیریهای از راه دور (Remote)، برای اجرای این حمله حتماً باید یک اپلیکیشن مخرب از قبل روی دستگاه قربانی نصب و در حال اجرا باشد. همچنین، در زمان تحلیل این گزارش، هنوز اصلاحیه (Patch) رسمی از سوی سازنده منتشر نشده است.
توصیههای امنیتی
از آنجایی که اصلاح این نقص مستلزم بهروزرسانی اپلیکیشن توسط توسعهدهنده است، سازمانها و کاربران میتوانند از روشهای زیر برای کاهش سطح حمله استفاده کنند:
- استفاده از سیاستهای MDM یا Google Play Protect برای جلوگیری از نصب اپلیکیشنهای Sideloaded و غیرقابل اعتماد.
- محدود کردن نصب اپلیکیشنها به پروفایلهای مدیریت شده (Managed Profiles) که در آنها تنها اپلیکیشنهای مورد تایید (Allowlisted) اجازه اجرا دارند.