A vulnerability was found in Assimp up to 6.0.4. This affects the function glTFCommon::CopyValue in the library glTFCommon.h of the component 4x4 Matrix Parser. Performing a manipulation results in heap-based buffer overflow. The attack must be initiated from a local position. The exploit has been made public and could be used. The project tagged the reported issue as bug.
A heap-based buffer overflow vulnerability exists in Assimp library versions up to 6.0.4 affecting the glTFCommon::CopyValue function in 4x4 matrix parsing. While requiring local access and currently unpatched, the public disclosure of this vulnerability poses a moderate risk to organizations using Assimp for 3D model processing. The vulnerability could enable local privilege escalation or denial of service attacks.
Immediate Actions:
1. Inventory all systems and applications using Assimp library versions up to 6.0.4
2. Restrict local access to systems running vulnerable Assimp versions through access controls
3. Disable or isolate 3D model processing services where possible
4. Monitor for suspicious file uploads or glTF model processing attempts
Patching Guidance:
1. Upgrade Assimp to version 6.1.0 or later when available (currently no patch released)
2. Contact Assimp project maintainers for security updates
3. Implement application-level input validation for glTF files
4. Use sandboxed environments for 3D model processing
Compensating Controls:
1. Implement strict file type validation before processing glTF files
2. Run Assimp-dependent applications with minimal privileges (non-root/non-admin)
3. Deploy application whitelisting on systems processing 3D models
4. Enable Address Space Layout Randomization (ASLR) and Data Execution Prevention (DEP)
5. Implement memory protection mechanisms (stack canaries, CFI)
Detection Rules:
1. Monitor for heap corruption indicators in application logs
2. Alert on unexpected process termination of Assimp-dependent applications
3. Track failed glTF file parsing attempts
4. Monitor for unusual memory access patterns in 3D processing applications
الإجراءات الفورية:
1. حصر جميع الأنظمة والتطبيقات التي تستخدم مكتبة Assimp الإصدارات حتى 6.0.4
2. تقييد الوصول المحلي للأنظمة التي تعمل بإصدارات Assimp الضعيفة من خلال عناصر التحكم في الوصول
3. تعطيل أو عزل خدمات معالجة النماذج ثلاثية الأبعاد حيث أمكن
4. مراقبة محاولات تحميل الملفات المريبة أو معالجة نماذج glTF
إرشادات التصحيح:
1. ترقية Assimp إلى الإصدار 6.1.0 أو أحدث عند توفره (لا يوجد تصحيح حالياً)
2. التواصل مع مشرفي مشروع Assimp للحصول على تحديثات الأمان
3. تطبيق التحقق من صحة الإدخال على مستوى التطبيق لملفات glTF
4. استخدام بيئات معزولة لمعالجة النماذج ثلاثية الأبعاد
عناصر التحكم البديلة:
1. تطبيق التحقق الصارم من نوع الملف قبل معالجة ملفات glTF
2. تشغيل التطبيقات التابعة لـ Assimp بأقل امتيازات ممكنة
3. نشر قائمة بيضاء للتطبيقات على الأنظمة التي تعالج النماذج ثلاثية الأبعاد
4. تفعيل عشوائية تخطيط مساحة العناوين (ASLR) ومنع تنفيذ البيانات (DEP)
5. تطبيق آليات حماية الذاكرة (stack canaries، CFI)
قواعد الكشف:
1. مراقبة مؤشرات تلف الذاكرة في سجلات التطبيق
2. تنبيه عند إنهاء العملية غير المتوقع للتطبيقات التابعة لـ Assimp
3. تتبع محاولات تحليل ملفات glTF الفاشلة
4. مراقبة أنماط الوصول غير العادية للذاكرة في تطبيقات معالجة ثلاثية الأبعاد