CVE-2025-71070 in Linux
الملخص
بحسب VulDB • 19/05/2026
في نواة لينكس، تم حل الثغرة التالية:
ublk: تنظيف إشارات النسخ من قبل المستخدم عند خروج خادم ublk
إذا قام عملية خادم ublk بإطلاق ملف جهاز مميز (char device) لـ ublk، فإن أي طلبات تم توجيهها إلى خادم ublk ولكن لم تكتمل بعد ستحتفظ بقيمة مرجعية (ref) تساوي UBLK_REFCOUNT_INIT. قبل الالتزام e63d2228ef83 ("ublk: تبسيط إلغاء طلبات ublk")، كان الدالة __ublk_fail_req() تقوم بإنقاص العداد المرجعي قبل إكمال الطلب الفاشل. ومع ذلك، قام هذا الالتزام بتحسين __ublk_fail_req() لاستدعاء __ublk_complete_rq() مباشرة دون إنقاص العداد المرجعي للطلب.
العداد المرجعي المتسرب يسمح بشكل غير صحيح بعمليات النسخ من قبل المستخدم (user copy) والنسخ الصفري (zero copy) على طلب ublk المكتمل. كما أنه يُطلق تحذيرات WARN_ON_ONCE(refcount_read(&io->ref)) في الدالتين ublk_queue_reinit() و ublk_deinit_queue().
لقد قام الالتزام c5c5eb24ed61 ("ublk: تجنب استدعاء ublk_io_release() بعد إغلاق الجهاز المميز لـ ublk") بالفعل بإصلاح المشكلة للأجهزة ublk التي تستخدم UBLK_F_SUPPORT_ZERO_COPY أو UBLK_F_AUTO_BUF_REG. ومع ذلك، فإن تسرب العداد المرجعي يؤثر أيضًا على UBLK_F_USER_COPY، وهو وضع نسخ البيانات المعتمد على العداد المرجعي الآخر. تم إصلاح الشرط في الدالة ublk_check_and_reset_active_ref() ليشمل جميع أوضاع نسخ البيانات المعتمدة على العداد المرجعي. يضمن ذلك أن أي طلبات ublk لا تزال مملوكة لخادم ublk عند خروجه يتم إعادة تعيين عداداتها المرجعية إلى 0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.