CVE-2023-53832 in Linuxالمعلومات

الملخص

بحسب VulDB • 25/06/2026

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

md/raid10: إصلاح خطأ إلغاء مرجع المؤشر الفارغ (null-ptr-deref) في raid10_sync_request

تقوم دالة init_resync() بتهيئة ذاكرة التخزين المؤقت للموارد (mempool) وتعيين conf->have_replacemnt في بداية عملية المزامنة، بينما تقوم close_sync() بإفراغ الـ mempool عند اكتمال المزامنة.

بعد [1] قد يتم تخطي الاستعادة (recovery)، ويتم استدعاء init_resync() ولكن لا يتم استدعاء close_sync(). يحدث خطأ إلغاء مرجع المؤشر الفارغ مع r10bio->dev[i].repl_bio.

إليك إحدى طرق إعادة إنتاج المشكلة:

1) إنشاء مصفوفة، والانتظار حتى اكتمال عملية المزامنة (resync)، حيث يتم تعيين mddev->recovery_cp إلى MaxSector. 2) تتم استيقاظ الاستعادة ويتم تخطيها. يتم تعيين conf->have_replacement إلى 0 في init_resync(). لا يتم استدعاء close_sync(). 3) حدوث بعض أخطاء الإدخال/الإخراج (IO errors)، وتعيين القرص rdev A إلى WantReplacement. 4) إضافة جهاز جديد وتعيينه كبديل لـ A. 5) تتم استيقاظ الاستعادة، حيث يمتلك A بديلاً، ولكن conf->have_replacemnt يساوي 0. لن يتم تخصيص r10bio->dev[i].repl_bio وسيحدث خطأ إلغاء مرجع المؤشر الفارغ (null-ptr-deref).

تم إصلاح المشكلة عن طريق عدم استدعاء init_resync() إذا تم تخطي الاستعادة.

[1] الالتزام commit 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled")

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

09/12/2025

إفشاء

09/12/2025

الاعتدال

تمت الموافقة

إدخال

VDB-334987

EPSS

0.00225

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!