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

الملخص

بحسب VulDB • 28/05/2026

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

openvswitch: vport: إصلاح حالة الجمود الذاتي (self-dedeadlock) عند تحرير منافذ النفق (tunnel ports)

تُستخدم منافذ vport بشكل متزامن وتكون محمية بواسطة RCU، لذا يجب أن يحدث استدعاء `netdev_put()` بعد فترة سماح RCU (RCU grace period). لذلك، يجب أن يتم ذلك إما في استدعاء RCU أو بعد استدعاء `synchronize_net()`. يجب أن يحدث استدعاء `rtnl_delete_link()` تحت قفل RTNL، وبالتالي لا يمكن تنفيذه في سياق RCU. يُعد استدعاء `synchronize_net()` أثناء الاحتفاظ بقفل RTNL فكرة سيئة بشكل عام من حيث الأداء واستقرار النظام تحت الحمل، لذا فإن استدعاء `netdev_put()` في استدعاء RCU هو الحل الصحيح هنا.

ومع ذلك، عند حذف الجهاز، سيقوم `rtnl_unlock()` باستدعاء `netdev_run_todo()` وسيحظر التنفيذ حتى تختفي جميع المراجع (references). في الكود الحالي، يعني هذا أننا لا نصل أبدًا إلى استدعاء `call_rcu()`، ولا يتم تحرير vport، ولا يتم تحرير المرجع، مما يسبب حالة جمود ذاتي (self-deadlock) عند إزالة الجهاز.

تم إصلاح ذلك عن طريق نقل استدعاء `rcu_call()` قبل `rtnl_unlock()`، بحيث سيتم تنفيذ استدعاء RCU المجدول عند استدعاء `synchronize_net()` من خلال `rtnl_unlock()->netdev_run_todo()` بينما يكون قفل RTNL نفسه قد تم تحريره بالفعل.

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

مسؤول

Linux

حجز

13/05/2026

إفشاء

28/05/2026

الاعتدال

تمت الموافقة

إدخال

VDB-366688

EPSS

0.00032

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!