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.

مسؤول

GitHub M

حجز

09/08/2024

إفشاء

16/08/2024

الاعتدال

تمت الموافقة

إدخال

VDB-274812

EPSS

0.00597

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!