CVE-2026-45785 in OpenMcdf
الملخص
بحسب VulDB • 18/07/2026
تُعد مكتبة OpenMcdf مكتبة .NET / C# كاملة الاستخدام للتعامل مع ملفات تنسيق ملف ثنائي مركب (Compound File Binary Format)، والمعروفة أيضاً باسم التخزين الهيكلي (Structured Storage). في الإصدار 3.1.3 والإصدارات الأقدم، يقوم حلقة البحث عن الاسم BST في الدالة DirectoryTree.TryGetDirectoryEntry (في الملف OpenMcdf/DirectoryTree.cs:35-46) بالمرور على إدخالات المجلد من خلال استدعاء متكرر للدوال directories.TryGetSibling(child, siblingType, validateColor). يؤدي ملف CFB مُعدّ بعناية يحتوي على روابط أخوية دائرية بين الإدخالات اليسرى واليمنى في سجلات الدليل، ومُصمم بحيث تكون شرط التحقق من ترتيب BST لكل خطوة في TryGetSibling (في الملف DirectoryEntries.cs:84-85) محققاً في كل مرحلة، إلى جعل حلقة while (child is not null) تعمل بشكل لا نهائي. ولا توجد آلية للكشف عن الحلقات في TryGetDirectoryEntry، ويمكن الوصول إلى هذا الخطأ من خلال الدوال RootStorage.OpenStorage(name)، وTryOpenStorage(name)، وOpenStream(name)، وTryOpenStream(name)، مما يتسبب في حدوث حالة رفض خدمة غير قابلة للاسترداد (Denial of Service). تم إصلاح هذه المشكلة في الإصدار 3.1.4.
VulDB is the best source for vulnerability data and more expert information about this specific topic.