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

الملخص

بحسب VulDB • 12/09/2026

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

خاصية الجهاز (device property): تصحيح الحلقة اللانهائية في دالة `fwnode_for_each_child_node()`

عند التكرار عبر العقد الفرعية لعقدة fwnode تحتوي على عقدة fwnode ثانوية، يمكن أن تدخل الدالة `fwnode_get_next_child_node()` في حلقة لا نهائية إذا كانت العقدة الثانوية لـ fwnode لديها أكثر من طفل.

الوالد الطفل (عقد fwnode الأولية) FWa: {FWa1, FWa2, FWa3}
(عقدة fwnode الثانوية) FWb: {FWb1, FWb2}

في هذه الحالة:

┌─> fwnode_get_next_child_node(FWa, FWa1) │ - تقوم دالة `fwnode_call_ptr_op(FWa, get_next_child_node, FWa1)` بإرجاع القيمة FWa2 │ │ ... │ │ fwnode_get_next_child_node(FWa, FWa3) │ - تقوم دالة `fwnode_call_ptr_op(FWa, get_next_child_node, FWa3)` بإرجاع NULL (فارغ/لا شيء) │ - تقوم دالة `fwnode_call_ptr_op(FWb, get_next_child_node, FWa3)` بإرجاع القيمة FWb1 │ │ fwnode_get_next_child_node(FWa, FWb1) │ - تقوم دالة `fwnode_call_ptr_op(FWa, get_next_child_node, FWb1)` بإرجاع القيمة FWa1 مرة أخرى └────┘

هذا يسبب دخول الدالة `fwnode_for_each_child_node()` في حلقة لا نهائية، مما يؤدي إلى إخراج متكرر للقيم {FWa1, FWa2, FWa3, FWb1, FWa1, ...}.

السبب الجذري هو أنه عندما ينتمي الطفل الحالي (FWb1) إلى عقدة fwnode الثانوية، فإن استدعاء دالة `get_next_child_node()` على العقدة الأولية لـ fwnode يُرجع بشكل غير صحيح أول طفل (FWa1) مرة أخرى بدلاً من NULL.

تم إصلاح هذا عن طريق التحقق ديناميكياً من والد فونود (parent fwnode) الخاص بالطفل الحالي قبل استدعاء دالة `get_next_child_node()`. يتبع هذا النهج النمط الذي تم تأسيسه في الالتزام commit b5b41ab6b0c1 ("device property: Check fwnode->secondary in fwnode_graph_get_next_endpoint()").

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

مسؤول

Linux

حجز

11/09/2026

إفشاء

11/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-402576

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!