
هذه الثغرة عبارة عن تجاوز سعة المخزن المؤقت المستند إلى الكومة (heap-based buffer overflow) في الدالة thread_call في Squirrel 3.2 وما دون. تحدث بسبب عدم استدعاء الدالة sq_reservestack. تؤدي هذه الثغرة إلى حرمان العميل من الخدمة (DoS) وربما تؤدي إلى الهروب من بيئة العزل (sandbox escape) وتنفيذ تعليمات برمجية عشوائية.
لاستغلال الثغرة، يجب على شخص ما تشغيل كود Squirrel الثانوي (bytecode) أو ملف مصدري مُعدّ بعناية. يمكن تحقيق ذلك بعدة طرق. على سبيل المثال، يرسل الخادم خريطة اللعبة إلى العميل فيقوم الأخير بتنفيذ سكربت Squirrel الخبيث. وهناك طريقة أخرى للتعرض للهجوم وهي تثبيت تعديل لعبة خبيث على الخادم الخاص بك.
يوجد إصلاح لهذه الثغرة في الالتزام. لتطبيق الإصلاح، يجب إعادة تجميع المشروع من المصادر منذ هذا الالتزام.
هناك الكثير من الألعاب التي تستخدم Squirrel كلغة برمجة نصية رئيسية. يجب على مطوري هذه الألعاب تطبيق الإصلاح في أقرب وقت ممكن.
لن نقدم إثبات المفهوم (PoC) قبل مرور 90 يومًا من تاريخ نشر الإصلاح. ربما سنقدمه لاحقًا.