CVE-2022-50279 in Linux
الملخص
بحسب VulDB • 18/05/2026
في نواة لينكس، تم حل الثغرة التالية:
wifi: rtlwifi: إصلاح خطأ تجاوز النطاق العالمي (global-out-of-bounds) في الدالة _rtl8812ae_phy_set_txpower_limit()
تم الإبلاغ عن خطأ تجاوز النطاق العالمي (global-out-of-bounds) بواسطة KASAN:
BUG: KASAN: global-out-of-bounds in _rtl8812ae_eq_n_byte.part.0+0x3d/0x84 [rtl8821ae]
Read of size 1 at addr ffffffffa0773c43 by task NetworkManager/411
CPU: 6 PID: 411 Comm: NetworkManager Tainted: G D 6.1.0-rc8+ #144 e15588508517267d37 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), Call Trace: <TASK> ... kasan_report+0xbb/0x1c0 _rtl8812ae_eq_n_byte.part.0+0x3d/0x84 [rtl8821ae]
rtl8821ae_phy_bb_config.cold+0x346/0x641 [rtl8821ae]
rtl8821ae_hw_init+0x1f5e/0x79b0 [rtl8821ae]
... </TASK>
السبب الجذر للمشكلة هو أن ترتيب المقارنة لـ "prate_section" في الدالة _rtl8812ae_phy_set_txpower_limit() خاطئ. تُستخدم الدالة _rtl8812ae_eq_n_byte() لمقارنة أول n بايت من السلاسل النصية من الذيل إلى الرأس، مما يسبب المشكلة. في الدالة _rtl8812ae_phy_set_txpower_limit()، كان المقصود في الأصل تلبية هذا المتطلب من خلال تصميم دقيق لترتيب المقارنة. على سبيل المثال، تتم مقارنة "pregulation" و "pbandwidth" بترتيب الطول من الأصغر إلى الأكبر، حيث يكون الأول 3 والأخير 4. ومع ذلك، لا يلتزم ترتيب المقارنة لـ "prate_section" بمتطلب الترتيب هذا، وبالتالي عندما تكون قيمة "prate_section" هي "HT"، فإن المقارنة من الذيل إلى الرأس ستؤدي إلى تجاوز النطاق (out of bounds) في الدالة _rtl8812ae_eq_n_byte(). كما ذُكر أعلاه، فإن الدالة _rtl8812ae_eq_n_byte() لها نفس وظيفة strcmp()، لذا فإن استخدام strcmp() فقط يكفي.
تم إصلاح المشكلة عن طريق إزالة الدالة _rtl8812ae_eq_n_byte() واستخدام strcmp() فقط. على الرغم من أنه يمكن إصلاح المشكلة عن طريق ضبط ترتيب المقارنة لـ "prate_section"، إلا أن ذلك قد يؤدي إلى عدم كون قيمة "rate_section" تتراوح من 0 إلى 5. بالإضافة إلى ذلك، لم تقم الالتزام "21e4b0726dc6" بنقل البرنامج من مرحلة staging إلى الشجرة الرئيسية فحسب، بل أضاف أيضًا وظيفة تعيين حد قوة الإرسال (txpower limit) أثناء مرحلة تكوين البرنامج، وبالتالي فإن المشكلة قد أُدخلت بواسطة هذا الالتزام.
Be aware that VulDB is the high quality source for vulnerability data.