العودة

عيوبان حرجان في Wasmtime قد تتيح للوحدات الخبيثة الهروب من صناديق الحماية
SiTech AI Team3 دقيقة قراءة

عيوبان حرجان في Wasmtime قد تتيح للوحدات الخبيثة الهروب من صناديق الحماية

يقول مشرفو Wasmtime إن عيبين حرجين في Cranelift قد يتيحان للوحدات الخبيثة WebAssembly الهروب من حدود صندوق الحماية. صدرت إصدارات مصححة في 19 و20 أكتوبر، ولم تُبلَّغ أي هجمات.

عيوبان حرجان في Wasmtime، وهي بيئة تشغيل WebAssembly يمكن بناؤها داخل برامج أخرى، قد يتيحان لوحدة WebAssembly خبيثة الهروب من صندوق حمايتها، وفقاً لمشرفي المشروع. سيحتاج المهاجم أولاً إلى نسخة مصابة بالثغرة لتجميع وحدة يتحكم فيها، وعيب واحد يؤثر فقط على أنظمة ARM64. صدرت إصدارات مصححة في 19 و20 أكتوبر، ولم يبلّغ المشرفون عن أي هجمات.

ما المتأثر

كلا العيبين في Cranelift، المترجم الذي تستخدمه Wasmtime افتراضياً. CVE-2026-115889 يؤثر على جميع معماريات المعالجات، بينما CVE-2026-115893 يؤثر فقط على ARM64، وتُسمى أيضاً aarch64. صنّف Bytecode Alliance كل عيب بـ 9.9 من 10 على مقياس CVSS. الخطر أعلى للخدمات التي تترجم وحدات مكتوبة من أشخاص آخرين؛ وتقول Fastly إن منصة Compute لديها تشغّل كود العملاء باستخدام Wasmtime. لا تذكر التحذيرات الخدمات المتأثرة ولا تحدد ما يمكن للمهاجم الوصول إليه بعد الهروب. لم يكن أي من العيبين في كتالوج CISA للثغرات المستغلة المعروفة حتى 26 أكتوبر.

إصلاحات الإصدارات

الإصدارات المصححة هي 36.0.19 و48.0.7 و49.0.4 و50.0.0. تحتاج إلى تحديث: النسخ الأقدم من 36.0.19، والإصدارات 37.0.0 حتى 42.x، والإصدارات 43.0.0 حتى 47.x على ARM64، والإصدارات 48.0.0 حتى 48.0.6 والإصدارات 49.0.0 حتى 49.0.3 على ARM64. يجب على المضيفات على خطوط غير مدعومة الانتقال إلى إصدار مدعوم. لا تزال خطوط الإصدار 36 و48 و49 و50 مدعومة فقط؛ انتهى الدعم لخط LTS 24.x في 20 أغسطس 2026، ولم يتلقَ إصلاحاً. المضيفات على ARM64 التي حدّثت في أبريل لإصلاح الهروب السابق من صندوق الحماية في Cranelift لا تزال متأثرة بـ CVE-2026-115893.

كيف تعمل العيوب

CVE-2026-115889 ناتج عن تخزين Cranelift أرقام تتبّع القيم في حقول 24 بت قبل الإصدار 43. في نسخ الإصدار، رقم كبير جداً بالنسبة إلى حقله تجاوز الحد دون خطأ، لذا تمكن Cranelift من الإشارة إلى قيمة خاطئة وإنتاج كود آلة غير صحيح. يمكن لدالة WebAssembly كبيرة جداً أو مصنوعة خصيصاً استخدام هذا لإجبار خلط الأنواع والهروب من صندوق الحماية. وسّع خط التطوير الرئيسي لـ Wasmtime الحقول إلى 32 بت في الإصدار 43.0.0 في 20 مارس، وحصل خط LTS 36.x على نفس التغيير في 19 أكتوبر. CVE-2026-115893 يتعلّق بـ br_table على ARM64. أُرسلت الفهارس خارج النطاق إلى الهدف الافتراضي عبر تفريع يمكن أن يصل إلى نحو 1 MiB، لذا جعل br_table بأكثر من نحو 256,000 هدفاً جدول القفز كبيراً جداً وأشر التفريع بصمت إلى المكان الخاطئ. كان العيب موجوداً منذ أن دعمت Wasmtime ARM64 لأول مرة في 2020. الإصلاح يرسل الفهارس خارج النطاق عبر جدول القفز ويرفض تجميع br_table بأكثر من 65,520 هدفاً.

تفاصيل أخرى

Wasmtime يمكن بناؤه داخل برامج أخرى كمكتبة، لذا تحديث أداة سطر الأوامر لا يصلحها؛ كل برنامج يتضمن Wasmtime يجب إعادة بنائه بإصدار مصحح. لا تسرد أي من التحذيرات حلاً بديلاً. كلا العيبين مدرجان في RustSec باسم RUSTSEC-2026-0380 و RUSTSEC-2026-0379. حتى 26 أكتوبر، كانت قاعدة بيانات تحذيرات GitHub تحتوي على إدخال مراجع لـ CVE-2026-115889 ولكن لا شيء لـ CVE-2026-115893، وتقول GitHub إن فقط الإدخالات المراجعة تُفعّل تنبيهات Dependabot. انتقل Spin إلى Wasmtime 50.0.0 في الإصدار 4.2.4 في 21 أكتوبر.

المصادر: The Hacker News

SiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.