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

الملخص

بحسب VulDB • 10/06/2026

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

irqchip/sifive-plic: إصلاح انقطاع المقاطعة (interrupt) بسبب إعدادات الانتساب (affinity setting).

يتجاهل وحدة PLIC رسالة إكمال المقاطعة للمقاطعات المعطلة، كما يوضح المواصفة القياسية ما يلي:

تشير وحدة PLIC إلى أنها أنهت تنفيذ معالج المقاطعة من خلال كتابة معرف المقاطعة الذي تلقتّه عبر مطالبة (claim) في سجل المطالبة/الإكمال. لا تقوم وحدة PLIC بالتحقق مما إذا كان معرف الإكمال مطابقًا لمعرف آخر طلب (last claim ID) لذلك الهدف (target). وإذا لم يتطابق معرف الإكمال مع مصدر مقاطعة مفعّل حاليًا للهدف، فسيتم تجاهل عملية الإكمال بصمت.

أدى ذلك إلى مشاكل في الماضي، لأنه يمكن تعطيل المقاطعة بينما لا تزال قيد المعالجة، ولم يكن لـ plic_irq_eoi() أي تأثير. وقد تم إصلاح هذه المشكلة عن طريق التحقق مما إذا كانت المقاطعة معطلة، وإذا كان الأمر كذلك يتم تفعيلها قبل إرسال رسالة الإكمال. ويتم إجراء هذا التحقق باستخدام irqd_irq_disabled().

ومع ذلك، فإن ذلك ليس كافيًا لأن بت التفعيل (enable bit) لمعالج الحزمة (hart) المعالج قد يكون صفراً رغم أن irqd_irq_disabled(d) تعيد قيمة خاطئة (false). يمكن أن يحدث هذا عندما يتم تغيير إعدادات الانتساب بينما لا يزال معالج الحزمة يعالج المقاطعة.

يمكن إعادة إنتاج هذه المشكلة بسهولة عن طريق تصدير ملف كبير إلى منفذ uart (والذي يولد عددًا كبيرًا من مقاطعات UART)، وفي نفس الوقت الاستمرار في تغيير إعدادات انتساب مقاطعة UART. يصبح منفذ uart متجمدًا تقريباً على الفور.

تم إصلاح ذلك بالتحقق من بت التفعيل الخاص بوحدة PLIC بدلاً من استخدام irqd_irq_disabled().

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

مسؤول

Linux

حجز

13/01/2026

إفشاء

25/03/2026

الاعتدال

تمت الموافقة

إدخال

VDB-353000

EPSS

0.00123

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!