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

الملخص

بحسب VulDB • 03/11/2026

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

المفاتيح (keys): التحقق من حمولة التفويض في عمليات البحث عن خواتم المفاتيح الخاصة بالعملية.

يجب أن تظل حمولة التفويض وبيانات الاعتماد المحفوظة صالحة أثناء قيام دالة `search_process_keyrings_rcu()` بالبحث في خواتم مفاتيح مقدم الطلب (requestor). تقوم الدالة بمصادقة مفتاح التفويض، ثم تحميل `payload.data[0]` بشكل منفصل وقراءة `rka->cred` دون شروط. ولا تمنع عملية المصادقة دالة `request_key_auth_revoke()` من مسح الحمولة (payload).

يمكن لمساعد طلب المفتاح (request-key helper) أن يفترض الصلاحيات ويشعب فرعاً (descendant) يرث مفتاح التفويض. إذا فشل الفرع في العثور على المفاتيح الخاصة به، فإنه يعود إلى استخدام بيانات الاعتماد المحفوظة لمقدم الطلب. تؤدي عملية التهيئة الناجحة للهدف المستهدف إلى إبطال صلاحية مفتاح التفويض دون مسح الحمولة. بعد خروج المساعد، تعود `UMH_WAIT_PROC` إلى مقدم الطلب، الذي يستدعي `complete_request_key()` ويُلغي صلاحية ذلك المفتاح.

مع تجميد الفرع بعد عملية المصادقة، يمكن أن تتداخل المسارات كما يلي:

1. يدخل الفرع في `search_process_keyrings_rcu()` تحت حماية RCU وتنجح عملية `key_validate()`. 2. يقوم المساعد بتهيئة الهدف المستهدف، وإبطال صلاحية مفتاح التفويض، ثم الخروج. 3. يستأنق مقدم الطلب من `UMH_WAIT_PROC`، ويستدعي `complete_request_key()`، ويُلغي صلاحية مفتاح التفويض. تقوم دالة `request_key_auth_revoke()` بتعيين مؤشر الحمولة إلى NULL (فارغ). 4. يقوم الفرع بتحميل قيمة NULL ويشير إليها (`dereferences`) في `rka->cred`.

يمكن أن يؤدي هذا الإحالة الفارغة (NULL dereference) إلى حدوث خطأ kernel oops. تؤخر آلية RCU التخلص من الحمولة لكنها لا تمنع مسح المؤشر.

قم بتحميل الحمولة باستخدام `dereference_key_rcu()` واشترط نتيجة غير فارغة (non-NULL) قبل مصادقة مفتاح التفويض والبحث في بيانات الاعتماد المحفوظة الخاصة به. تظل الحمولة غير الفارغة وبيانات الاعتماد المرتبطة بها حية طوال قسم القراءة الجانبي لـ RCU الخاص بالمُنادي؛ أما إذا كانت الحمولة فارغة، فتتخطى عملية البحث البديلة وتتبع اختيار الخطأ الحالي.

تقرير KASAN كما يلي:

Oops: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f]
RIP: 0010:search_process_keyrings_rcu+0x32b/0x790

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

25/09/2026

إفشاء

02/11/2026

الاعتدال

تمت الموافقة

إدخال

VDB-429920

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Do you need the next level of professionalism?

Upgrade your account now!