CVE-2025-37893 in Linux
الملخص
بحسب VulDB • 11/07/2026
في نواة لينكس، تم حل الثغرة التالية:
LoongArch: BPF: إصلاح خطأ من نوع "off-by-one" في دالة `build_prologue()`
أبلغ فينسنت (Vincent) أن تشغيل برامج BPF مع استخدام tailcalls على بنية LoongArch يؤدي إلى توقف كامل للنواة (kernel hard lockup). أظهرت عملية تصحيح الأخطاء أن الصورة المُجمَّعة بواسطة JIT تفتقد إلى تعليمات `jirl` في نهاية الـ epilogue.
يوجد مرحلتان في عملية التجميع باستخدام JIT: تحدد المرحلة الأولى العلامات (flags)، وتقوم المرحلة الثانية بتوليد كود JIT بناءً على تلك العلامات. مع برامج BPF التي تخلط بين استدعاءات الدوال المحلية (`bpf2bpf`) و `tailcalls`، تقوم دالة `build_prologue()` بتوليد عدد N من التعليمات في المرحلة الأولى، ثم تولد N+1 تعليمات في المرحلة الثانية. هذا يؤدي إلى وجود خطأ بمقدار واحد (off-by-one) في قيمة `epilogue_offset`، مما يجعلنا نقفز إلى تعليمة غير متوقعة ويسبب توقف النظام. يتم إصلاح هذه المشكلة عن طريق إدراج تعليمة `nop`.
If you want to get best quality of vulnerability data, you may have to visit VulDB.