آخرین اخبار
همهٔ اخبار
امنیت وب و نرم‌افزار گزارش بحرانیت ۵/۱۰

کشف آسیب‌پذیری بحرانی در Capacitor؛ دسترسی به داده‌های اپلیکیشن از طریق لینک‌های مخرب

کشف آسیب‌پذیری بحرانی در Capacitor؛ دسترسی به داده‌های اپلیکیشن از طریق لینک‌های مخرب

یک آسیب‌پذیری بحرانی در فریم‌ورک Capacitor برای سیستم‌عامل‌های Android و iOS شناسایی شده است که به مهاجمان اجازه می‌دهد با ارسال یک لینک مخرب، محتوای تحت کنترل خود را در محیط امن (Trusted Origin) اپلیکیشن‌های موبایل اجرا کنند.

جزئیات فنی و مکانیسم حمله

این نقص امنیتی که با شناسه CVE-2026-103922 ردیابی می‌شود، در مکانیزم محافظت از ناوبری (Navigation Protection) در WebView مربوط به Capacitor وجود دارد. در نسخه‌های آسیب‌پذیر، Guard مربوط به ناوبری تنها طرح (Scheme) و میزبان (Host) URL هدف را بررسی می‌کرد و مسیر (Path) آن را اعتبارسنجی نمی‌نمود.

این نقص باعث می‌شود درخواست‌های ناوبری به مسیر داخلی /capacitor_http_interceptor که در Origin خود اپلیکیشن میزبانی می‌شود، پذیرفته شوند. مهاجم می‌تواند لینکی طراحی کند که به این نقطه انتهایی (Endpoint) داخلی اشاره کرده و همزمان یک URL خارجی مخرب را ارسال کند. در این حالت، لایه Native در Capacitor محتوای مخرب را فراخوانی کرده و آن را به WebView بازمی‌گرداند.

پیامدهای امنیتی و سطح دسترسی

از آنجایی که پاسخ در Origin قانونی اپلیکیشن بارگذاری می‌شود، اسکریپت‌های موجود در صفحه مخرب از امتیازات Same-Origin بهره می‌برند. این موضوع منجر به شکست مرزهای امنیتی شده و دسترسی‌های زیر را فراهم می‌کند:

  • خواندن داده‌های ذخیره شده در localStorage و کوکی‌ها (Cookies).
  • تعامل با قابلیت‌های Native که از طریق پلاگین‌های ثبت شده در Capacitor در دسترس هستند.
  • دسترسی احتمالی به توکن‌های احراز هویت، فایل‌ها، اعلان‌ها و داده‌های حساس دستگاه.

دامنه اثر و نسخه‌های آسیب‌پذیر

این آسیب‌پذیری با امتیاز CVSS 9.6 (بحرانی) رتبه‌بندی شده است. اپلیکیشن‌هایی که لینک‌های کنترل‌شده توسط کاربر را نمایش می‌دهند (مانند چت‌ها، بخش نظرات، پورتال‌های پشتیبانی و فیدهای اجتماعی) در معرض خطر بیشتری هستند. لازم به ذکر است که غیرفعال کردن پلاگین CapacitorHttp در نسخه‌های آسیب‌پذیر، این مشکل را برطرف نمی‌کند.

نسخه‌های تحت تأثیر:

  • نسخه‌های 6.0.0 تا قبل از 6.2.2
  • نسخه‌های 7.0.0 تا قبل از 7.6.9
  • نسخه‌های 8.0.0 تا قبل از 8.3.5 و 8.3.5 تا قبل از 8.4.3
  • نسخه‌های 8.5.0 تا قبل از 8.5.1

راهکارهای مقابله و اصلاح

توسعه‌دهندگان باید سریعاً به نسخه‌های اصلاح‌شده به‌روزرسانی کرده، اپلیکیشن‌های Android و iOS خود را مجدداً Build کرده و نسخه‌های جدید را منتشر کنند. برای سازمان‌هایی که امکان به‌روزرسانی فوری ندارند، راهکارهای موقت عبارتند از:

  • پیاده‌سازی یک پلاگین سفارشی برای رد کردن درخواست‌های ناوبری به مسیر /capacitor_http_interceptor.
  • اعتبارسنجی سخت‌گیرانه و پاک‌سازی (Sanitize) تمامی URLهای کنترل‌شده توسط کاربر پیش از رندر در WebView.