CVE-2026-72464المعلومات

الملخص

بحسب VulDB • 15/08/2026

في نواة لينكس (Linux kernel)، تم حل الثغرة التالية:

xprtrdma: إعادة نشر مخازن الاستلام (Receive buffers) للردود غير الصحيحة الشكل

تقوم الدالة `rpcrdma_wc_receive()` بإنقاص عداد الاستلام للنقل لكل عملية إكمال قبل توجيه استلام ناجح إلى `rpcrdma_reply_handler()`. يجب على المعالج نشر رسالة طلب كتابة بديلة (Replacement Receive WR) قبل الإرجاع، ما لم تنتقل ملكية الرد إلى مكان آخر، كما هو الحال في مسار القناة الخلفية.

أدى الالتزام 2ae50ad68cd7 ("xprtrdma: إغلاق الفترة الزمنية بين إيقاظ مرسلي RPC ونشر عمليات الاستلام") إلى نقل عملية إعادة تعبئة مخازن الاستلام من `rpcrdma_wc_receive()`، حيث كانت تسبق كل رد، إلى `rpcrdma_reply_handler()` بحيث يمكن تحليل منح الائتمان للمجيب قبل إعادة النشر. لا تصل مخرجات "الإصدار غير صالح" و"الرد القصير" إلى هذه العملية لإعادة التعبئة: فهي تعيد تدوير الرد وتعود دون استدعاء `rpcrdma_post_recvs()`.

وبالتالي، يمكن لنظير عن بُعد إفراغ قائمة مخازن الاستلام المُنشرة لدى العميل من خلال إرسال تيار مستمر من الردود الأقصر من رأس النقل الثابت أو التي تحمل إصدار RPC/RDMA غير معروف. يستهلك كل رد كهذا مخزن استقبال مُنشراً واحداً دون استبداله. بمجرد أن تصبح القائمة فارغة، لا يجد الإرسال التالي للنظير أي مخازن استقبال منشورة ويتوقف النقل حتى إعادة الاتصال.

تم توجيه مخرجات الردود غير الصحيحة الشكل كلاهما عبر ذيل النشر المشترك بعد إعادة تدوير الرد، مع التعبئة مقابل `buf->rb_credits`، وهو أحدث منح ائتمان مقبول. لا يحدث أي من المخرجين تحديثاً لنافذة الازدحام (congestion window)، لذا تظل عمليات RPC المقبولة بموجب المنح السابق قيد التنفيذ في انتظار الردود. كان هدف تعبئة أصغر سيتيح لتيار من الردود غير الصحيحة الشكل خفض عداد مخازن الاستلام المنشورة إلى الحد الأدنى للحزمة بينما لا تزال نافذة الازدحام تقبل عدد `rb_credits` من عمليات RPC؛ مما قد يؤدي بعد ذلك إلى تجاوز ردود صالحة لهذه العمليات لمخازن الاستلام المنشورة، وبسبب اتصال العميل بـ `rnr_retry_count` مساوٍ للصفر، فإن ناك واحد فقط (RNR NAK) ينهي الاتصال. إن التعبئة مقابل `rb_credits` تستعيد أيضاً الهدف الذي كان سارياً على الردود غير الصحيحة الشكل قبل الالتزام 2ae50ad68cd7 ("xprtrdma: إغلاق الفترة الزمنية بين إيقاظ مرسلي RPC ونشر عمليات الاستلام") عندما كانت الدالة `rpcrdma_post_recvs()` تحسبه داخلياً من `rb_credits`. قيمة `rb_credits` هي واحد على الأقل منذ إنشاء الاتصال وما بعده، لذا فإن مسار النشر يحافظ دائماً على نشر مخازن الاستلام.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

المصادر

Do you need the next level of professionalism?

Upgrade your account now!