Sandboxسازندگان ماژول جعبه ایمنی جاوا اسکریپت Sandbox vm2 یک وصله برای رفع یک نقص مهم منتشر کرده‌اند که می‌تواند برای خارج شدن از مرزهای امنیتی و اجرای کد پوسته دلخواه مورد سوءاستفاده قرار گیرد.

این نقص که همه نسخه‌ها ازجمله و قبل از ۳٫۹٫۱۴ را تحت تأثیر قرار می‌دهد، توسط محققان آزمایشگاه KAIST WSP مستقر در کره جنوبی[۱] در ۶ آوریل ۲۰۲۳ گزارش شد[۲] و vm2 را وادار کرد تا یک وصله با نسخه ۳٫۹٫۱۵ را در روز جمعه منتشر کند[۳].

vm2 در گزارشی فاش کرد[۴]: «یک عامل تهدید می‌تواند حفاظت‌های sandbox را دور بزند تا حقوق اجرای کد از راه دور را در میزبانی که sandbox را اجرا می‌کند، به دست آورد».

به این آسیب‌پذیری کد CVE-2023-29017 اختصاص یافته است[۵] و در سیستم امتیازدهی CVSS دارای امتیاز ۹٫۸ است. مشکل از این واقعیت ناشی می‌شود که خطاهایی را که در توابع ناهم‌زمان رخ می‌دهند به‌درستی مدیریت نمی‌کند.

vm2 یک کتابخانه محبوب[۶] است که برای اجرای کدهای غیرقابل‌اعتماد در یک محیط ایزوله در Node.js استفاده می‌شود. نزدیک به چهار میلیون دانلود در هفته دارد و در ۷۲۱ بسته[۷] استفاده می‌شود.

Seongil Wi، محقق امنیتی KAIST، همچنین دو نوع مختلف از یک بهره‌بردار[۸] اثبات ادعا (PoC) را برای CVE-2023-29017 در دسترس قرار داده است که محافظت‌های جعبه ایمنی را دور می‌زند و اجازه ایجاد یک فایل خالی به نام «پرچم» را در میزبان می‌دهد.

این افشاگری تقریباً شش ماه پس از رفع اشکال حیاتی دیگری (CVE-2022-36067، دارای امتیاز ۱۰ در مقیاس CVSS) توسط vm2 صورت می‌گیرد[۹] که می‌توانست برای انجام عملیات‌ دلخواه روی ماشین اصلی مورداستفاده قرار گیرد.

 

منابع

[۱] https://wsp-lab.github.io/

[۲] https://github.com/patriksimek/vm2/issues/515

[۳] https://github.com/patriksimek/vm2/releases/tag/3.9.15

[۴] https://github.com/advisories/GHSA-7jxr-cg7f-gpgv

[۵] https://nvd.nist.gov/vuln/detail/CVE-2023-29017

[۶] https://www.npmjs.com/package/vm2

[۷] https://www.npmjs.com/package/vm2?activeTab=dependents

[۸] https://gist.github.com/seongil-wi/2a44e082001b959bfe304b62121fb76d

[۹] https://thehackernews.com/2022/10/researchers-detail-critical-rce-flaw.html

[۱۰] https://thehackernews.com/2023/04/researchers-discover-critical-remote.html