CVE-2024-50063 in Linuxالمعلومات

الملخص

بحسب VulDB • 23/05/2026

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

bpf: منع استدعاء الذيل (tail call) بين البرامج المرتبطة بمخطافات (hooks) مختلفة

يمكن ربط برامج bpf بدوال في النواة، وقد تأخذ الدوال المرتبطة معاملات مختلفة أو تُرجع قيم إرجاع مختلفة. إذا قام برنامج مرتبط بدالة نواة واحدة بإجراء استدعاء ذيل (tail call) لبرنامج مرتبط بدالة نواة أخرى، فقد يتم تجاوز التحقق من الوصول إلى سياق التنفيذ (ctx) أو التحقق من قيمة الإرجاع.

على سبيل المثال، إذا كان prog1 مرتبطًا بـ func1 التي تأخذ معاملًا واحدًا فقط، وكان prog2 مرتبطًا بـ func2 التي تأخذ معاملين. نظرًا لأن المدقق (verifier) يفترض أن سياق bpf (bpf ctx) الممرر إلى prog2 تم بناؤه بناءً على توقيع (prototype) func2، فإن المدقق يسمح لـ prog2 بالوصول إلى المعامل الثاني من سياق bpf الممرر إليه. المشكلة هي أن المدقق لا يمنع prog1 من تمرير سياق bpf الخاص به إلى prog2 عبر استدعاء الذيل. في هذه الحالة، يتم بناء سياق bpf الممرر إلى prog2 من func1 بدلاً من func2، أي أن افتراض التحقق من الوصول إلى السياق يتم تجاوزه.

مثال آخر، إذا كان برنامج BPF LSM prog1 مرتبطًا بالمخطاف file_alloc_security، وكان برنامج BPF LSM prog2 مرتبطًا بالمخطاف bpf_lsm_audit_rule_known. يعرف المدقق قواعد قيمة الإرجاع لهذين المخطافين، على سبيل المثال، من القانوني أن يُرجع bpf_lsm_audit_rule_known الرقم الموجب 1، ومن غير القانوني أن يُرجع file_alloc_security رقمًا موجبًا. لذلك، يسمح المدقق لـ prog2 بإرجاع الرقم الموجب 1، لكنه لا يسمح لـ prog1 بإرجاع رقم موجب. المشكلة هي أن المدقق لا يمنع prog1 من استدعاء prog2 عبر استدعاء الذيل. في هذه الحالة، سيتم استخدام قيمة الإرجاع 1 الخاصة بـ prog2 كقيمة إرجاع لمخطاف prog1 file_alloc_security. أي أن قاعدة قيمة الإرجاع يتم تجاوزها.

يضيف هذا التصحيح قيودًا على استدعاء الذيل لمنع مثل هذه التجاوزات.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

21/10/2024

إفشاء

21/10/2024

الاعتدال

تمت الموافقة

إدخال

VDB-281438

EPSS

0.00231

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!