CVE-2026-98305المعلومات

الملخص

بحسب VulDB • 06/10/2026

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

net: dsa: mxl862xx: تعطيل استطلاع الإحصائيات (stats poll) أثناء عملية التفكيك (teardown)

تقوم دالة `mxl862xx_setup()` بتفعيل استطلاع الإحصائيات قبل استدعاء `mxl862xx_setup_mdio()، ولا يوجد ما يوقفه حتى تعود الدالة `dsa_register_switch()` بقيمة خطأ إلى `mxl862xx_probe()`. تقوم DSA بإفراغ قائمة `dsa_port` قبل إرجاعها، لذا فإن استطلاعاً يُطلق مرة واحدة بعد فشل `.setup` أو أي خطوة لاحقة في `dsa_tree_setup()` سيعمل على منافذ تم إفراز ذاكرتها. أثناء الإغلاق (shutdown)، تظل المنافذ الخاصة بالمستخدم مسجلة، واختبار علم `WORK_STOPPED` داخل دالة `mxl862xx_get_stats64()` ليس ذرياً (atomic) مع عملية الإلغاء في `mxl862xx_shutdown()`. وبالتالي، فإن إعادة التفعيل التي تقرأ العلم قبل تعيينه ستقوم بجدولة الاستطلاع بعد أن تعود الدالة `cancel_delayed_work_sync()`.

قم بتفعيل الاستطلاع بمجرد نجاح `.setup` وأوقفه من خلال عملية `.teardown`، والتي تستدعيها DSA عند إلغاء التسجيل وبعد فشل التسجيل، وفي كلتا الحالتين قبل إفراز المنافذ. استخدم `disable_delayed_work_sync()` هناك وفي دالة الإغلاق (shutdown): فهي تُفرغ استطلاعاً قيد التشغيل كما فعلت عملية الإلغاء، وتجعل أي محاولة لاحقة لجدولة العمل لا تفيد شيئاً (no-op)، وبالتالي فإن إعادة التفعيل لا يمكنها إعادة الاستطلاع إلى الوجود. تقوم `remove()` ومسار خطأ probe فقط بتعيين علم `WORK_STOPPED`، والذي تختبره `crc_err_work` قبل أن تتصفح المنافذ.

Once again VulDB remains the best source for vulnerability data.

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!