آخرین اخبار
همهٔ اخبار
مدیریت آسیب‌پذیری گزارش بحرانیت ۶/۱۰

رفع آسیب‌پذیری‌های بحرانی فرار از Sandbox در Wasmtime از طریق کامپایلر Cranelift

رفع آسیب‌پذیری‌های بحرانی فرار از Sandbox در Wasmtime از طریق کامپایلر Cranelift

دو آسیب‌پذیری بسیار بحرانی با شناسه‌های CVE-2026-115889 و CVE-2026-115893 در محیط اجرای Wasmtime کشف شده‌اند. این نقص‌ها به مهاجم اجازه می‌دهند تا با استفاده از یک ماژول دستکاری‌شده WebAssembly (Wasm)، کامپایلر Cranelift را مجبور به تولید کد ماشین (Machine code) ناامن کند که منجر به فرار از محیط ایزوله (Sandbox Escape) می‌شود. این دو آسیب‌پذیری هر دو امتیاز 9.9 از 10 را در مقیاس CVSS v3.1 دریافت کرده‌اند.

جزئیات فنی آسیب‌پذیری‌ها

امنیت محیط‌های ایزوله در Wasmtime به این موضوع بستگی دارد که کد تولید شده توسط کامپایلر دقیقاً مطابق با محدودیت‌های Wasm عمل کند. هرگونه خطا در کامپایلر می‌تواند این مرزهای امنیتی را از بین ببرد.

  • CVE-2026-115889: این نقص مربوط به سرریز خاموش (Silent overflow) در شاخص‌های مقدار SSA در کامپایلر است. این خطا می‌تواند در تمامی معماری‌ها رخ دهد و منجر به بروز پدیده‌ای به نام Type Confusion یا سایر اثرات جانبی دلخواه شود که در نهایت به فرار از Sandbox ختم می‌شود.
  • CVE-2026-115893: این آسیب‌پذیری مختص میزبان‌های با معماری ARM64 (aarch64) است. در این حالت، دستورالعمل br_table در صورت مواجهه با توالی‌های بسیار بزرگ، دچار خطای محاسباتی در پرش (Jump) می‌شود که می‌تواند مهاجم را به اجرای کد دلخواه (Arbitrary code execution) هدایت کند.

پلتفرم‌های در معرض خطر

بیشترین میزان ریسک متوجه پلتفرم‌هایی است که از Wasm برای اجرای کدهای ارائه شده توسط کاربران یا اشخاص ثالث استفاده می‌کنند. این دسته شامل موارد زیر است:

  • سرویس‌های ابری و پلتفرم‌های Edge
  • سرویس‌های Serverless
  • سیستم‌های مبتنی بر Plugin که کدهای خارجی را اجرا می‌کنند
  • محیط‌های چندمستاجری (Multi-tenant)

برخلاف بسیاری از حملات، این آسیب‌پذیری‌ها نیاز به تعامل کاربر ندارند و با سطح دسترسی پایین قابل پیاده‌سازی هستند.

نسخه‌های آسیب‌پذیر و راهکار اصلاحی

در حال حاضر هیچ راهکار موقتی (Workaround) برای این نقص‌ها وجود ندارد و تنها راه مقابله، به‌روزرسانی به نسخه‌های اصلاح‌شده است. کاربران باید توجه داشته باشند که بازسازی (Rebuild) ماژول‌های کش‌شده نیز ضروری است، زیرا کد ماشین تولید شده توسط کامپایلر آسیب‌پذیر همچنان حاوی نقص خواهد بود.

  • برای خطوط 36.x LTS: حتماً به نسخه 36.0.19 یا بالاتر ارتقا دهید.
  • برای نسخه‌های 48.x و 49.x: به نسخه‌های 48.0.7، 49.0.4 یا 50.0.0 مهاجرت کنید.
  • نسخه‌های قدیمی‌تر از 24.x دیگر پشتیبانی نمی‌شوند و باید به نسخه‌های جدید منتقل شوند.

وضعیت بهره‌برداری (Exploitation)

تا لحظه انتشار این گزارش، هیچ موردی از بهره‌برداری فعال از این آسیب‌پذیری‌ها در محیط‌های واقعی (In the wild) گزارش نشده است. با این حال، با توجه به انتشار جزئیات فنی، احتمال تلاش برای اکسپلویت شدن بسیار بالا است.