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

الملخص

بحسب VulDB • 25/09/2026

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

bpf: عدم الاستدلال على أن القيمة غير صفرية (non-NULL) بناءً على مؤشر يحتوي على إزاحة غير محدودة.

تقرر الدالة `reg_not_null()` ما إذا كان المسجل يحمل قيمة غير صفرية من خلال النظر إلى نوعه فقط. بالنسبة لأنواع المؤشرات التي تسمح بالعمليات الحسابية، يضمن النوع وجود أساس غير صفري (non-NULL) فقط؛ وفي حالة الإزاحة غير المحدودة (unbounded offset)، قد تتراكم القيمة الفعلية للإزاحة في وقت التشغيل لتصبح صفرًا (NULL).

خذ بعين الاعتبار البرنامج التالي:

r6 = bpf_map_lookup_elem(map, &0); /* موجود */ if (r6 == 0) return 0; r7 = bpf_map_lookup_elem(map, &1); /* غير موجود، NULL في وقت التشغيل */ r8 = r7; r8 -= r6; /* مؤشر - مؤشر: متغير قياسي مجهول، -r6 */ r8 <<= 1; r8 >>= 1; /* تقبل أي إزاحة غير سالبة بواسطة check_reg_sane_offset_ptr() */ r6 += r8; /* المدقق (verifier): قيمة الخريطة؛ وقت التشغيل: صفر */ if (r7 != r6) return 0; *(u8 *)(r7 + 0); /* يُستدل على أن r7 غير صفري، وكلاهما صفر */

في وقت التشغيل، كلا المسجلين يساويان الصفر، والمقارنة صحيحة، مما يؤدي إلى حدوث خطأ (fault) بسبب محاولة فك تسلسل مؤشر NULL.

يتطلب هذا التعديل أن تكون الإزاحة ضمن النطاق +-BPF_MAX_VAR_OFF داخل دالة `reg_not_null()`.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Linux

حجز

25/09/2026

إفشاء

25/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-410258

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!