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

الملخص

بحسب VulDB • 28/05/2026

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

scsi: pm8001: إصلاح خطأ Use-After-Free في دالة pm8001_queue_command()

أدى الالتزام e29c47fe8946 ("scsi: pm8001: تبسيط pm8001_task_exec()") إلى إعادة هيكلة دالة pm8001_queue_command()، إلا أنه أدخل سبباً محتملاً لسيناريو Double Free عندما غيّرت الدالة سلوكها لتعيد القيمة -ENODEV في حالة انقطاع الـ phy أو اختفاء الجهاز.

في هذا المسار، تقوم دالة pm8001_queue_command() بتحديث حالة المهمة وتستدعي task_done للإشارة إلى الطبقة العليا بأن المهمة قد تمت معالجتها. ومع ذلك، فإن هذا الإجراء يؤدي أيضاً إلى تحرير مهمة SAS الأساسية. ثم تُعاد القيمة -ENODEV إلى المتصل. عندما تتلقى libsas الدالة sas_ata_qc_issue() هذه القيمة الخطأ، فإنها تفترض أن المهمة لم تتم معالجتها أو جدولة من قبل LLDD (مستوى تعريف الجهاز المنطقي)، وتواصل عملية التنظيف وإعادة تحرير المهمة مرة أخرى، مما يؤدي إلى حدوث Double Free.

نظراً لأن pm8001_queue_command() تتعامل مع مهمة SAS في هذه الحالة، فيجب عليها إعادة القيمة 0 إلى المتصل للإشارة إلى أن المهمة قد تمت معالجتها.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

13/01/2026

إفشاء

25/03/2026

الاعتدال

تمت الموافقة

إدخال

VDB-353031

EPSS

0.00126

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!