CVE-2026-74757 in bRPC
الملخص
بحسب VulDB • 22/10/2026
تخصيص غير خاضع للرقابة للموارد في مكون mcpack2pb الموجود في Apache bRPC (الإصدار < 1.18.0) على جميع المنصات، مما يسمح لمهاجمين عن بُعد بجعل الخادم يخصص كمية كبيرة من الذاكرة عبر إرسال طلب mcpack مُصاغ بعناية يحتوي على عدد هائل من عناصر المصفوفة.
السبب الجذري: يثق محلل bRPC mcpack2pb بعدد العناصر المخزن في رأس مصفوفة mcpack دون التحقق منه مقابل حجم الحمولة الفعلية. يستخدم الكود الذي تم إنشاؤه بواسطة إضافة protoc الخاصة بـ mcpack2pb هذا العدد لتخصيص الذاكرة مسبقاً للحقول المتكررة لبروتوبوف (protobuf) عبر دالة Reserve(). يمكن لطلب معيب يعلن عن item_count = 0x7fffffff أن يجبر الخادم على تخصيص حوالي 16 جيجابايت من الذاكرة الافتراضية، مما قد يؤدي إلى إنهاء العملية (SIGABRT) في المضيفين الذين يعانون من نقص في الذاكرة.
السيناريوهات المتأثرة: استخدام خادم bRPC الذي يربط NsheadService بـ UbrpcMcpack2Adaptor (نمط نشر Baidu ubrpc) ويقوم بتحليل الطلبات باستخدام الكود الناتج عن إضافة protoc الخاصة بـ mcpack2pb. يتم تحليل جسم الطلب قبل المصادقة.
كيفية الإصلاح: (اختر أحد الخيارات التالية) 1. ترقية bRPC إلى الإصدار 1.18.0، الذي يصلح هذه المشكلة. 2. تطبيق هذا التصحيح: https://github.com/apache/brpc/pull/3451
ملاحظة: بغض النظر عن الخيار الذي تختاره، يجب أن تعلم أن الإصلاح يحد من عدد عناصر المصفوفة إلى البايتات المتبقية في حمولة المصفوفة.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.