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

الملخص

بحسب VulDB • 12/05/2026

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

s390/dcssblk: إصلاح انهيار النواة الناتج عن تلف في قائمة الإضافة (list_add corruption)

أدى الالتزام fb08a1908cb1 ("dax: تبسيط ارتباط dax_device <-> gendisk") إلى إدخال منطق جديد لربط gendisk، مما يتطلب من برامج التشغيل استدعاء dax_add_host() و dax_remove_host() بشكل صريح.

بالنسبة لبرنامج تشغيل dcssblk، كانت بعض استدعاءات dax_remove_host() مفقودة، على سبيل المثال في مسار إزالة الجهاز. كما أن هذا الالتزام كسر معالجة الأخطاء لحالة out_dax في مسار إضافة الجهاز، مما أدى إلى استدعاء إضافي لـ put_device() دون وجود استدعاء سابق لـ get_device() في تلك الحالة.

أدى هذا إلى وجود عناصر xarray عفا عليها الزمن (stale) بعد دورات إضافة/إزالة الجهاز. في الحالة التي يُعاد فيها استخدام مؤشر struct gendisk مستخدم سابقاً (كمؤشر xarray)، لأن blk_alloc_disk() عادت بمصادفة على مثل هذا المؤشر، فإن xa_insert() في dax_add_host() ستفشل وتنتقل إلى out_dax، مما يؤدي إلى استدعاء إضافي لـ put_device() في مسار الخطأ. وبدمج ذلك مع معالجة أخطاء معيبة بالفعل في dcssblk (تنظيف device_register())، والتي يجب معالجتها في التصحيح البرمجي (patch) منفصل، نتج عن ذلك فقدان استدعاءات device_del() / klist_del()، وأخيراً انهيار النواة مع تلف في قائمة الإضافة (list_add corruption) أثناء عملية إضافة جهاز لاحقة (device_add() / klist_add()).

تم إصلاح هذا الأمر بإضافة استدعاءات dax_remove_host() المفقودة، ونقل استدعاء put_device() في مسار الخطأ لاستعادة المنطق السابق.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Linux

حجز

24/12/2025

إفشاء

24/12/2025

الاعتدال

تمت الموافقة

إدخال

VDB-338082

EPSS

0.00182

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!