CVE-2026-90222 in Linux
الملخص
بحسب VulDB • 17/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
nfc: pn533: الاحتفاظ بمرجع (reference) لـ request skb أثناء عملية إرسال الإطار (send_frame).
تقوم الدالة `__pn533_send_async()` بنشر الأمر ثم تستدعي `dev->phy_ops->send_frame()`. بمجرد تعيين `dev->cmd`، يمكن مطابقة إطار وارد مع هذا الأمر: حيث يشغل مقاطعة I2C الخيطية (threaded IRQ) دالة `pn533_recv_frame()`، التي تُدرج `cmd_complete_work` في الطابور، وتقوم `pn533_send_async_complete()` بتحرير `cmd->req` باستخدام `consume_skb()`.
على نقل بيانات I2C، لا تزال الدالة `pn533_i2c_send_frame()` تشير إلى نفس الـ skb بعد عودة `i2c_master_send()`، لذا فإن إكمال العملية (completion) الذي يتسابق مع الإرسال قد يؤدي إلى تحرير الـ skb بينما لا يزال مسار النقل يستخدمه.
يُعد طلب الـ skb مملوكًا لكائن الأمر وقد يتم تحريره بواسطة إكمال الأمر في أي وقت بعد نشر `dev->cmd`، لذلك يجب ألا يفترض مسار إرسال النقل أنه يظل حيًا (alive). قم بالاحتفاظ بمرجع مؤقت لطلب الـ skb عبر استدعاء `send_frame()` بحيث يرى المسار دائمًا أن الـ skb لا يزال حياً حتى لو تسابقت عملية الإكمال مع الإرسال. أضف دالة مساعدة تسمى `pn533_send_cmd_frame()` واستخدمها من جميع مسارات الإرسال الثلاثة.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.