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

الملخص

بحسب VulDB • 23/10/2026

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

optee: تسجيل أجهزة TEE فقط بعد اكتمال تهيئتها بالكامل

استدعت دالة `optee_probe()` دالة `tee_device_register()` لكل من جهاز العميل وجهاز المساعد (supplicant) قبل أن يتم تهيئة باقي بنية البيانات `struct optee`.

تقوم دالة `tee_device_register()` باستدعاء `cdev_device_add()`, والتي تقوم بشيئين في آن واحد: فهي تنشئ `/dev/tee0` و `/dev/teepriv0`, وتربط الجهاز بفئة TEE (tee class) بحيث يمكن لـ `class_find_device()` العثور عليه. من تلك اللحظة فصاعدًا، يصبح الجهاز قابلاً للوصول كلٍ من فضاء المستخدم عبر `tee_open()` ومن فضاء النواة عبر `tee_client_open_context()`. الحاجز الوحيد في دالة `teedev_open()` هو `tee_device_get()`, والذي يتحقق فقط مما إذا كانت قيمة `teedev->desc` غير صفرية (non-NULL)، وهي القيمة التي تم تعيينها بالفعل بواسطة `tee_device_alloc()`. لذلك، لا يوجد فعليًا أي حاجز على الإطلاق.

يمكن لسياق مفتوح في تلك الفترة الزمنية أن يعمل ضد بنية بيانات `struct optee` حيث:

- لم يتم تهيئة `optee->call_queue.mutex` عبر دالة `optee_cq_init()` - لم يتم تهيئة قفل (mutex) وعمليات الإكمال (completions) الخاصة بـ `optee->supp` عبر دالة `optee_supp_init()` - لم يتم تهيئة `optee->rpmb_dev_mutex` بعد، - لم يتم تهيئة ذاكرة التخزين المؤقت لحجج الرسائل (message argument cache) عبر دالة `optee_shm_arg_cache_init()` - لا تزال قيمة `optee->ctx` تساوي NULL

أي جلسة مفتوحة أو استدعاء خلال هذه الفترة الزمنية يستخدم قفلًا غير مُهيّأ ويحاول فك مرجع مؤشر صفر (NULL pointer dereference).

تم الإصلاح عن طريق نقل كلا استدعاءات `tee_device_register()` إلى النقطة التي يتم فيها إعداد بنية البيانات `struct optee` بالكامل.

[JW: إضافة تصحيحات وإضافة اسم المرسل في نسخة الكربون cc]

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

25/09/2026

إفشاء

23/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-425885

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!