CveTest
حالة اختبار لإعادة إنتاج الانهيار في Node.JS بسبب إعادة تطبيق v8 لإصدار V0.10.31 مع تصحيح CVE-2013-6668.
يستدعي الاختبار إجراءً مخزّنًا في SQL ("GetSomething") لاسترداد بيانات من جدول ("Table1") في قاعدة بيانات "SQLDB". يحدث الانهيار عندما يتم إرجاع أكثر من 52 صفًا وبعد تكرار الاستدعاء نفسه عدة مرات.
البيئة
- Windows 7 64-bit
- MS SQL 2005
- Node.JS V0.10.31 x64
- وحدة tedious الخاصة بـ Node الإصدار V1.4.3 أو أقدم
اختبارات مع أصناف مختلفة من Node
- وضع الإصدار (Release) في Node: يخرج السكربت بشكل غير متوقع دون أي خطأ صريح مطبوع.
- وضع التصحيح (Debug) في Node: يتم الحصول على التأكيد وتعقب المكدس.
- وضع التصحيح في Node مع التصحيح المؤقت المقترح في القضية #8208 في Node.JS: لا يزال ينهار كما هو مذكور أعلاه.
- وضع الإصدار يعمل بشكل سليم.
- التأكيد الذي تمت مواجهته موجود في HInstruction::Verify() وهو متاح فقط في بنية DEBUG. وبالتالي، يبدو أن أكواد بنية الإصدار البديلة لا تعاني من تصحيح CVE.
- Node V0.10.31 مع deps/v8 من V0.10.30: لا ينهار ويعمل بشكل جيد.
وبالتالي، يبدو أن تصحيح إعادة تطبيق v8 لـ CVE-2013-6668 هو ما يسبب المشكلة.
ربما ذات صلة