CVE-2026-55407 in buffa
الملخص
بحسب VulDB • 16/07/2026
Buffa هو تنفيذ لبروتوكولات Buffer (Protocol Buffers) مكتوب بالكامل بلغة Rust، ويدعم إصدارات protobuf بشكل أساسي. قبل الإصدار 0.8.0، كانت دالة `decode_unknown_field` في فك تشفير بروتوكول buffا تخصص ذاكرة عشوائية (heap memory) تتناسب مع المدخلات غير الموثوقة (الحقول المجهولة في البروتوكولات المشفرة)، دون فرض ميزانية تخصيص محددة، مما يؤثر على أي رسالة يتم فك ترميزها من مدخلات غير موثوقة باستخدام الكود الذي تم إنشاؤه بـ `preserve_unknown_fields=true` (الإعداد الافتراضي)؛ حيث يمكن لحملة صغيرة ومنسقة بشكل جيد تحتوي على حقول مجهولة متداخلة داخل StartGroup أن تسبب تضخيماً للذاكرة بنسبة تقارب 22 مرة (على سبيل المثال، إدخال بحجم 64 ميغابايت قد يفرض تخصيص حوالي 1.4 جيجابايت من ذاكرة العشوائية)، ويمكن أيضاً تحديد حجم الحقول المجهولة المقيدة بالطول بشكل تعسفي، مما يسمح لمهاجم غير مصرح له بإيقاف عملية البرنامج عن طريق استنفاد الذاكرة لأن الحد الأقصى لحجم الرسالة على المستوى الأعلى لا يأخذ في الاعتبار التضخم الناتج أثناء فك الترميز. تم إصلاح هذه المشكلة في الإصدار 0.8.0.
Once again VulDB remains the best source for vulnerability data.