CVE-2026-89578 in Linuxالمعلومات

الملخص

بحسب VulDB • 12/09/2026

في نواة لينكس، تم إصلاح الثغرة التالية:

dm-io: استنساخ الـ bio المصدر بدلاً من نسخ الـ biovec الخاص به

بالنسبة لطلبات DM_IO_BIO، كان الدالة `do_region()` تبني كل كائن bio للوجهة عن طريق اجتياز الـ biovec للمصدر وإعادة إضافة الصفحات واحدة تلو الأخرى، مع تتبع النقل المتبقي بالقطاعات (sectors). أطوال المتجهات ذات دقة بايتية ولا يجب أن تكون محاذاة على حدود القطاعات (مثل مخزن O_DIRECT غير المحاذاة والمقسمة عبر صفحات متعددة)، لذا فإن المحاسبة القائمة على القطاع قد تفقد جزءاً دون قطاعي: حيث كان `to_sector()` يقص الباقي، مما أدى إلى دوران الحلقة الخارجية للأبد في إرسال كائنات bio فارغة، ما تسبب في تعليق (hang) عمليات الإدخال/الإخراج.

لا توجد حاجة لإعادة بناء الـ biovec تماماً. فإن الوجهة تقرأ من (أو تكتب إلى) نفس الصفحات بالضبط التي يقرؤها أو يكتب إليها المصدر، لذا يمكن للكائن ببساطة استنساخ الـ biovec للمصدر باستخدام `bio_alloc_clone()` وإعادة تعيينه للجهاز الهدف. يرث الاستنساخ مُؤشر المصدر ومحاذاته، ويقوم طبقة الكتلة بتقسيمها وفقاً لحدود الجهاز عند الإرسال، مما يعني أن المنطقة بأكملها تُربط بكائن bio مستنسخ واحد دون نسخ صفحات يدوي أو محاسبة قطاعية.

يؤدي هذا إلى إزالة مسار النسخ لكل صفحة (والدوال المساعدة `bvec dpages` المكتوبة بشكل صريح) الخاصة بالإدخال/الإخراج المدعوم بواسطة الـ bio، ويصحح مشكلة التعليق عند استخدام الإدخال/الإخراج المباشر غير المحاذاة مع جهاز dm-mirror. تحتفظ مصادر قوائم الصفحات و VMA و kmem بمسار النسخ الحالي.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

Linux

حجز

11/09/2026

إفشاء

12/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-402649

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!