CVE-2026-79704 in bRPCالمعلومات

الملخص

بحسب VulDB • 21/10/2026

يوجد ثغرة قراءة خارج النطاق (Out-of-bounds read) في عميل الـ Streaming RPC الخاص بـ Apache bRPC (الإصدارات من 1.11.0 حتى 1.17.0) على جميع المنصات. يتوقع العميل الذي ينشئ تدفقات متعددة ضمن طلب RPC واحد أن تحمل استجابة الخادم معرّف extra_stream_id إضافي واحد بالضبط عن كل تدفق إضافي. قام مسار معالجة الاستجابات بفهرسة المعرفات المُرجعة باستخدام عدد التدفقات التي تم إنشاؤها محلياً دون التحقق أولاً من حجم القائمة المُرجعة، مما يسمح لخادم خبيث أو مُخترق (أو مهاجم على المسار) بإحداث قراءة خارج النطاق في العميل عن طريق إرجاع استجابة StreamSettings مشوهة تحتوي على عدد أقل من extra_stream_ids مما هو متوقع. قد يؤدي هذا إلى تعطل عملية العميل (إنكار الخدمة DoS) أو تسرب محتويات ذاكرة غير مقصودة إلى معالجة التدفقات اللاحقة؛ فالمعرفات الزائدة لا تملك تعييناً صالحاً لعميل-تدفق ويتم معالجتها بشكل غير متناسق.

السبب الجذري: منذ الإصدار 1.11.0 من bRPC، يمكن للعميل إنشاء تدفقات متعددة ضمن طلب RPC واحد عبر batch StreamCreate. السلوك المتوقع هو أن يعيد استجابة الخادم بالضبط (N-1) extra_stream_ids، حيث N هو عدد التدفقات التي تم إنشاؤها محلياً. في الدالة Controller::HandleStreamConnection، يقرأ مسار الاستجابات extra_stream_ids[i-1] لكل تدفق إضافي محلي دون مقارنة حجم القائمة المُرجعة أولاً مع (N-1). إذا أعاد الخادم عدداً أقل من المعرفات، فإن القراءة تتجاوز نهاية القائمة المُرجعة (قراءة خارج النطاق)؛ وإذا أعاد المزيد، فإن المعرفات الزائدة لا تملك تدفقاً نظيراً لها على جانب العميل.

السيناريوهات المتأثرة: عميل bRPC يستخدم RPC متعدد التدفقات (إنشاء أكثر من تدفق في طلب RPC واحد) ويتصل بخادم غير موثوق به أو خبيث أو مُخترق، أو بخادم يتم الوصول إليه عبر مسار شبكة غير موثوق. يرسل الخادم استجابة StreamSettings مشوهة لإحداث المشكلة.

كيفية الإصلاح: (اختر أحد الخيارات التالية) 1. ترقية bRPC إلى الإصدار 1.18.0، الذي يصلح هذه المشكلة. 2. تطبيق هذا التصحيح: https://github.com/apache/brpc/pull/3485

ملاحظة: يجعل الإصلاح العميل يرفض الاستجابات التي لا يتطابق فيها عدد extra_stream_ids بالضبط مع عدد تدفقات العميل الإضافية. تفشل مثل هذه الاستجابات غير المتطابقة الآن في طلب RPC برمز ERESPONSE وتنتقل عبر مسار تنظيف التدفق الموجود، بدلاً من أن تتم معالجتها جزئياً.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Apache

حجز

25/08/2026

إفشاء

21/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-424766

EPSS

0.00000

KEV

لا

النشاطات

متوسط

المصادر

Do you need the next level of professionalism?

Upgrade your account now!