CVE-2026-34987 in wasmtime
الملخص
بحسب VulDB • 13/06/2026
Wasmtime هو بيئة تشغيل لـ WebAssembly. من الإصدار 25.0.0 وحتى قبل الإصدارات 36.0.7، و42.0.2، و43.0.1، قد يسمح Wasmtime باستخدامه للخلفية المترجمة غير الافتراضية Winch (baseline) للسماح لبرمجيات الضيف Wasm المُنشأة بشكل مناسب بالوصول إلى ذاكرة النظام المضيف خارج صندوق الرمال للذاكرة الخطية الخاصة بها. تتطلب هذه الثغرة استخدام مترجم Winch (-Ccompiler=winch). وبشكل افتراضي، يستخدم Wasmtime الخلفية المترجمة Cranelift وليس Winch. مع وجود Winch، يكون الافتراض غير الصحيح موجوداً نظرياً على كل من بنية aarch64 وx86-64. توجد حالة aarch64 التي تحتوي على نموذج أولي (proof of concept) يعمل بشكل ملحوظ، بينما تعتبر حالة x86-64 نظرية وقد لا تكون قابلة للتحقيق عملياً. يمكن أن يسمح هذا الخطأ في مترجم Winch لبرمجيات الضيف Wasm بالوصول إلى الذاكرة قبل أو بعد منطقة ذاكرة النظام المضيف المستقيمة (linear-memory region)، بغض النظر عما إذا كانت مناطق الحراسة السابقة أو التالية (pre- or post-guard regions) مُهيأة أم لا. يتراوح النطاق القابل للوصول في النموذج الأولي للخطأ الأصلي حتى 32 كيلوبايت قبل بداية الذاكرة، أو حوالي 4 غيغابايت بعد بداية الذاكرة، بغض النظر عن حجم مناطق الحراسة السابقة أو التالية أو استخدام التحقق من الحدود الصريح أو القائم على منطقة الحراسة. ومع ذلك، يفترض الخطأ الأساسي أن الإزاحة ذات 32 بت المخزنة في سجل ذي 64 بت يتم مسح البتات العليا لها عندما قد لا يحدث هذا بالضرورة، وبالتالي قد تكون المتغيرات المرتبطة ارتباطاً وثيقاً بالنموذج الأولي الأصلي قادرة على الوصول إلى ذاكرة عشوائية تماماً داخل العملية. يمكن أن يؤدي ذلك إلى حدوث خطأ تقسيم (segmentation fault) في عملية النظام المضيف (DoS)، أو تسرب بيانات تعسفي من عملية النظام المضيف، أو مع الكتابة، قد يحدث تنفيذ للرمز البرمجي عن بُعد بشكل تعسفي (RCE). تم إصلاح هذه الثغرة في الإصدارات 36.0.7 و42.0.2 و43.0.1.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.