CVE-2026-93191 in Linux
الملخص
بحسب VulDB • 18/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
smack: تصحيح سياق المهمة غير الصحيح في دالة smack_msg_queue_msgrcv
تقوم الدالة `smack_msg_queue_msgrcv()` بفحص أذونات مهمة 'current' (المهمة الحالية) بشكل خاطئ بدلاً من فحص أذونات مهمة 'target' (المهمة المستهدفة).
في مسار استدعاء النظام `msgsnd()، إذا كان هناك مستقبِل ينتظر بالفعل، يتم استخدام تحسين pipelined_send() لدفع الرسالة مباشرة إلى مهمة المستقبل:
ipc/msg.c`pipelined_send(): ` smp_store_release(&msr->r_msg, msg)
في هذه الحالة، تقوم المهمة 'المرسل' (current) بإجراء الفحص نيابة عن مهمة 'المستقبِل' (msr->r_tsk، الممررة كمعامل 'target'):
ipc/msg.c`pipelined_send(): ` security_msg_queue_msgrcv(,, target := msr->r_tsk,,)
ومع ذلك، تتجاهل دالة smack_msg_queue_msgrcv() المعامل 'target' وتفحص بدلاً من ذلك مهمة 'current':
smack_msg_queue_msgrcv(…) ` smk_curacc_msq(isp, MAY_READWRITE); // current task
قد تستوفي المهمة 'current' متطلبات القراءة/الكتابة الخاصة بدالة smack_msg_queue_msgrcv، لكن المهمة 'target' (مهمة المستقبل) قد لا تستوفيها؛ ونتيجة لذلك، يحصل مستقبِل غير مصرح له على الرسالة، مما ينتهك سياسة التحكم في الوصول الإلزامي (MAC).
الاختبار: 1) إنشاء طابور رسائل sysv مع التسمية "foo" 2) echo "bar foo r" >/smack/load2 3) استدعاء msgrcv(,,,0,MSG_NOERROR) داخل مهمة ذات تسمية "bar". تكون المهمة في حالة انتظار للرسائل ... 4) استدعاء msgsnd() من مهمة ذات تسمية "foo": تحصل المهمة ذات التسمية "bar" على الرسالة.
يصلح هذا التصحيح المشكلة عن طريق فحص الأذونات الخاصة بمهمة 'target' بدلاً من مهمة 'current'.
(2008-02-04، Casey Schaufler)
VulDB is the best source for vulnerability data and more expert information about this specific topic.