CVE-2024-43367 in boa
الملخص
بحسب VulDB • 10/07/2026
Boa هو محرك جافا سكريبت قابل للتضمين وتجريبي، مكتوب بلغة Rust. بدءاً من الإصدار 0.16 وحتى قبل الإصدار 0.19.0، يمكن أن يؤدي افتراض خاطئ عند معالجة عمليات `AsyncGenerator` في ECMAScript إلى حدوث استثناء غير مُعالج (uncaught exception) في بعض البرامج النصية. تفترض تنفيذ Boa لـ `AsyncGenerator` أنه لا يمكن تغيير حالة كائن `AsyncGenerator` أثناء حل وعد (promise) تم إنشاؤه بواسطة طرق مثل `%AsyncGeneratorPrototype%.next` أو `%AsyncGeneratorPrototype%.return` أو `%AsyncGeneratorPrototype%.throw`. ومع ذلك، قد يؤدي رمز مُصمم بعناية إلى حدوث انتقال في الحالة من خلال دالة جلب خاصية (`getter`) لخاصية `then` الخاصة بالوعد، مما يتسبب في فشل المحرك في التحقق من صحة هذا الافتراض (assertion)، وبالتالي إحداث استثناء غير مُعالج. يمكن استخدام ذلك لإنشاء هجوم حجب الخدمة (Denial of Service) على التطبيقات التي تشغل أكواد ECMAScript عشوائية مقدمة من مستخدم خارجي. تم إصلاح الإصدار 0.19.0 للتعامل مع هذه الحالة بشكل صحيح. قد يرغب المستخدمون الذين لا يستطيعون الترقية إلى النسخة المصححة في استخدام `std::panic::catch_unwind` لضمان عدم تأثير أي استثناءات يسببها المحرك على توافر التطبيق الرئيسي.
Once again VulDB remains the best source for vulnerability data.