Framework

یک آسیب‌پذیری حیاتیِ اجرای کد از راه دور در Electron گزارش شده است که به مهاجمان اجازه می‌دهد کدهای دلخواه خود را از راه دور اجرا کنند. Electron یک framework محبوب تحت برنامه وب است که هزاران برنامه دسکتاپ و پراستفاده شامل اسکایپ، سیگنال، WordPress و Slack از آن در برنامه‌های خود استفاده کردند.

Electron در حقیقت یک framework منبع باز است که بر اساس Node.js و Chromium Engine است و به توسعه‌دهندگان برنامه‌ها اجازه می‌دهد تا برنامه‌های کاربردی و cross-platform را برای ویندوز، macOS و لینوکس ایجاد کنند بدون اینکه از زبان‌های برنامه‌نویسی برای هر پلتفرم استفاده‌ کنند[۱].

این آسیب‌پذیری که به‌عنوان CVE-2018-1000006 نام‌گذاری شده است، تنها بر روی آن برنامه‌هایی که در مایکروسافت ویندوز اجرا می‌شوند و خود را به‌عنوان کنترل‌کننده پیش‌فرض برای یک پروتکل مانند myapp ثبت‌نام می‌کنند، تأثیر می‌گذارد.

تیم Electron در یک گزارش منتشرشده در روز ۲۲ ژانویه ۲۰۱۸ دراین‌باره گفته است[۲]: “چنین برنامه‌هایی بدون توجه به پروتکل ثبت‌نامی (استفاده از کد محلی، رجیستری ویندوز یا پروتکل پیش‌فرض Electron)، می‌توانند نسبت به این نقص آسیب‌پذیر باشند.”

تیم Electron همچنین تأیید کرده است که برنامه‌های طراحی‌شده برای macOS و لینوکس و برنامه‌هایی (حتی برنامه‌های تحت سیستم‌عامل ویندوز) که خود را به‌عنوان کنترل‌کننده پیش‌فرض برای یک پروتکل مانند myapp ثبت‌نام نمی‌کنند نسبت این نقص آسیب‌پذیر نیستند.

توسعه‌دهندگان Electron در حال حاضر سه نسخه جدید از Framework خود را، یعنی نسخه ۱٫۸٫۲ (بتا ۴)، ۱٫۷٫۱۱ و ۱٫۶٫۱۶ را برای رفع این آسیب‌پذیریِ بحرانی منتشر کرده‌اند.

این شرکت در ارتباط با به‌روزرسانی برنامه خود می‌گوید: “اگر به دلایلی شما نمی‌توانید نسخه Electron خود را ارتقا دهید، می‌توانید در هنگام فراخوانی app.setAsDefaultProtocolClient مانع از تجزیه‌وتحلیل گزینه‌های بیشتر توسط Chromium شوید.”

کاربران نهایی نمی‌توانند در مورد این آسیب‌‌پذیری کاری انجام دهند؛ در عوض، توسعه‌دهندگانی که از Electron استفاده می‌کنند، باید برنامه‌های خود را بلافاصله برای محافظت از کاربران به‌روزرسانی کنند.

جزئیات بیشتری در ارتباط با این آسیب‌پذیریِ از راه دور هنوز منتشر نشده است، و هیچ گزارشی از هیچ یک از برنامه‌های آسیب‌‎پذیر به خاطر دلایل امنیتی نامی نبرده است.

منابع

[۱] https://electronjs.org/apps

[۲] https://electronjs.org/blog/protocol-handler-fix

[۳] https://thehackernews.com/2018/01/electron-js-hacking.html