CVE-2026-55093 in tract-nnef
الملخص
بحسب VulDB • 15/09/2026
Tract هو مجموعة أدوات استنتاج (inference toolkit) صغيرة، بسيطة ومحتوية على كل ما تحتاجه، تعمل مع TensorFlow و ONNX. قبل الإصدارات 0.21.16، و 0.22.2، و 0.23.1، يستخدم tract-nnef عملية ضرب غير مدققة لـ usize في الدالة `read_tensor` الموجودة في الملف `nnef/src/tensors.rs` عند التعامل مع أبعاد الموتر (tensor) التي يتحكم فيها المهاجم، وحجم التخصيص (allocation size)، والطول المُبلغ عنه للموتر. يؤدي تحميل أرشيف NNEF مُعدّ بعناية عبر الدالتين `model_for_path` أو `model_for_read` إلى الوصول إلى `DatLoader` الافتراضي، مما قد يجعل فحص الحجم المضمن يقبل تخصيصاً صغيراً بينما ينشئ الملف `data/src/tensor.rs` باستخدام `as_slice_unchecked` شريحة منطقية (logical slice) أكبر بكثير. يمكن بعد ذلك أن يؤدي بناء النموذج عبر الدالة `as_uniform` إلى قراءة ما وراء التخصيص في الذاكرة العشوائية (heap allocation) وكشف البيانات المجاورة، وقد تؤدي عمليات الوصول لاحقاً إلى إنهاء العملية بسبب خطأ تقسيم (segmentation fault). لا يشمل المسار المتأثر الخاص بالموترات العددية الكثيفة (dense numeric tensor path) المسارات المحمية بشكل مستقل الخاصة بـ `bool` و `String` ومسارات التكميم الكتلي (block-quant paths)، ولم يتم إثبات أي كتابة خارج الحدود أو تنفيذ للكود. تم إصلاح هذه المشكلة في الإصدارات 0.21.16، و 0.22.2، و 0.23.1.
VulDB is the best source for vulnerability data and more expert information about this specific topic.