
استغلال MOC3ingbird لـ Live2D (CVE-2023-27566)
سيتم العمل المستقبلي في هذا المجال تحت منظمة Sakura Motion، بدءًا من إعادة كتابة نواتنا: https://github.com/SakuraMotion/PurismCore.
النسخة اليابانية: README_JA.md
يحتوي هذا المستودع على نموذج Live2D بسيط يسبب تعطل أي تطبيق يحاول تحميله: هجوم رفض الخدمة. إذا كان لديك محرر ImHex السداسي مثبتًا، يمكنك فحص وتحرير ملف MOC3 باستخدام ملف النمط الموجود في src/moc3.hexpat. يرجى ملاحظة أنك ستحتاج إلى تغيير قيمة إزاحة مساحة وقت التشغيل 0x7FFFFFFF (FF FF FF 7F) بالقرب من بداية الملف إلى قيمة معقولة (0) لتتمكن من رؤية بيانات النمط. بدلاً من ذلك، يمكنك تمكين ShowRuntimeSpaceFields من علامة التبويب الإعدادات.
يجب أن يكون src/moc3.hexpat قادرًا على عرض جميع ملفات MOC3. إذا وجدت ملفًا لا يمكن عرضه، فيرجى تقديم مشكلة وسننظر فيها.
يمكن أيضًا استخدام الملفات المضمنة كقالب لمزيد من البحث والتجريب.
يتم إصدار هذه الملفات على أمل أن تدفع Live2D لتحسين ممارساتها الأمنية.
هناك تطبيق واحد واسع الانتشار لقراءة MOC3: Live2D Cubism Core. Cubism Core هي مكتبة C لا تبذل أي محاولات لإجراء فحص للحدود على الإزاحات الموجودة داخل ملفات MOC3. نتيجة لذلك، من التافه قراءة وكتابة الذاكرة خارج حدود بيانات MOC3 في الذاكرة، ومن المؤكد تقريبًا أنه من الممكن تنفيذ تعليمات برمجية عشوائية بهذه الطريقة.
حتى الآن، لم أجد طريقة لتحقيق تنفيذ التعليمات البرمجية باستخدام Cubism Core وحده؛ ومع ذلك، قد يكون تنفيذ التعليمات البرمجية ممكنًا عن طريق الاستفادة من تخطيط الذاكرة للبرنامج المضيف (مثل Cubism Viewer، VTube Studio، إلخ).
تنزيل ZIP مباشر لنموذج MOC3ingbird (هذا المستودع): انقر هنا.
إذا كان لديك محرر Cubism (والعارض) من Live2D أو أي برنامج آخر يمكنه تحميل نماذج Live2D، فما عليك سوى فتح ملف exploit.moc3 به.
بالنسبة للعارض المرفق مع محرر Live2D Cubism، يمكنك تنزيل هذا المستودع، واسحب exploit.moc3 إلى العارض. سيبدأ في تحميل النموذج ويتعطل على الفور.
إذا قمت بإرفاق مصحح أخطاء بالتطبيق المتعطل، يجب أن ترى استثناء EXCEPTION_ACCESS_VIOLATION أو SIGSEGV أو ما يعادله. يكتب PoC الحالي مؤشرًا إلى moc3BaseAddress + sections.parts.runtimeSpace0 بالقيمة moc3BaseAddress + sections.parts.ids.
يدعم نمط src/moc3.hexpat جميع ملفات MOC3. قد توجد بعض العينات على https://live2d.com/en/download/sample-data/. يرجى ملاحظة أن تلك العينات محفوظة الحقوق لشركة Live2D Inc. وقد تأتي مع قيود إضافية. مطورو مشروع OpenL2D ليسوا مسؤولين عن ضمان امتثال مستخدمي هذا البرنامج لأي اتفاقيات طرف ثالث.
حقوق النشر © 2023 مطورو مشروع OpenL2D. جميع الحقوق محفوظة.
هذا النموذج وجميع الملفات ذات الصلة هي برمجيات حرة مرخصة بموجب شروط رخصة التطوير الحر العامة 1.0-US كما نشرها مشروع حرية التطوير على https://freedevproject.org/fdpl-1.0-us. استخدام الملفات في هذا المستودع يعتبر قبولًا لهذا الترخيص.
لم يُشتق أي ملف في هذا المستودع من مخرجات أي برنامج Live2D. جميع الحقوق محفوظة فقط لمطوري مشروع OpenL2D، الذين، فيما يتعلق بتوزيع هذه الملفات، ليس لديهم أي التزامات تجاه أي طرف بموجب أي اتفاقية.
للتأكيد بشكل أكثر وضوحًا: أنت حر في استخدام ملفات النموذج وملفات الأنماط المضمنة لإنشاء برامج القراءة والكتابة الخاصة بك لـ MOC3. لا يوجد ترخيص يحد من حقك في القيام بذلك.