CVE-2026-46086 in Linux
الملخص
بحسب VulDB • 31/05/2026
في نواة لينكس، تم حل الثغرة التالية:
net: bridge: استخدام لقطة مستقرة (snapshot) لعنوان الوجهة FDB في قارئات RCU
يمكن إعادة كتابة إدخالات FDB المحلية في مكانها بواسطة `fdb_delete_local()`، والتي تقوم بتحديث `f->dst` إلى منفذ آخر أو إلى `NULL` مع الحفاظ على بقاء الإدخال نشطًا. تقوم عدة قارئات لجسر (bridge) تعمل بآلية RCU بفحص `f->dst`، بما في ذلك `br_fdb_fillbuf()` عبر مسار sysfs `brforward_read()`.
تقوم هذه القارئات حاليًا بتحميل `f->dst` عدة مرات، وبالتالي يمكنها ملاحظة قيم غير متسقة بين الفحص والاستخدام اللاحق (dereference). في `br_fdb_fillbuf()`، يعني هذا أن تحديثًا متزامنًا لـ FDB المحلي يمكن أن يغير `f->dst` بعد فحص القيمة `NULL` وقبل عملية الاسترجاع (dereference) لـ `port_no`، مما يؤدي إلى خطأ NULL-ptr-deref.
تم إصلاح هذه المشكلة بأخذ لقطة واحدة `READ_ONCE()` لـ `f->dst` في كل قارئ RCU متأثر واستخدام هذه اللقطة لبقية تسلسل الوصول. كما تم نشر تحديثات `f->dst` في مكانها في `fdb_delete_local()` باستخدام `WRITE_ONCE()` لضمان توافق أنماط الوصول بين القارئين والكاتب.
VulDB is the best source for vulnerability data and more expert information about this specific topic.