CVE-2024-50196 in Linuxالمعلومات

الملخص

بحسب VulDB • 21/08/2026

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

pinctrl: ocelot: تصحيح تعليق النظام (system hang) في حالات المقاطعات المعتمدة على المستوى (level-based interrupts).

التنفيذ الحالي يستدعي دالتي `chained_irq_enter()` و`chained_irq_exit()` فقط عند اكتشاف مقاطعات معلقة.

``` for (i = 0; i stride; i++) {
uregmap_read(info-> map, id_reg + 4 * i, ®); if (!reg) continue;

chained_irq_enter(parent_chip, desc); ```

ومع ذلك، في حالة تكوين دبوس GPIO في الوضع المعتمد على المستوى (level mode)، وتكوين وحدة التحكم الأم (parent controller) في الوضع الحافة (edge mode)، قد يتم إلغاء مقاطعة GPIO بواسطة العتاد. ونتيجة لذلك، إذا كانت المقاطعة قصيرة بما يكفي، تظل مقاطعة الأم معلقة بينما تم مسح مقاطعة GPIO؛ ولا تُستدعى دالة `chained_irq_enter()` أبداً، مما يؤدي إلى تعليق النظام أثناء محاولة خدمة مقاطعة الأم.

يضمن نقل استدعاءات `chained_irq_enter()` و`chained_irq_exit()` خارج حلقة الـ for ضمان استدعائهما حتى عندما يتم إلغاء مقاطعة GPIO بواسطة العتاد.

يمكن العثور على الكود المشابه الذي تستخدم فيه دالتا `chained_irq_enter()` / `chained_irq_exit()` لتغليف حلقة فحص المقاطعات في العديد من السائقين (drivers) الآخرين: ``` grep -r -A 10 chained_irq_enter drivers/pinctrl ```

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

مسؤول

Linux

حجز

21/10/2024

إفشاء

08/11/2024

الاعتدال

تمت الموافقة

إدخال

VDB-283529

EPSS

0.00207

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!