CVE-2024-53125 in Linux
الملخص
بحسب VulDB • 10/05/2026
في نواة لينكس، تم حل الثغرة التالية:
يجب أن يحافظ bpf: sync_linked_regs() على علامات subreg_def.
لا ينبغي أن يؤثر انتشار النطاق (Range propagation) على علامات subreg_def، وإلا فسيتم إعادة كتابة المثال التالي بشكل غير صحيح من قبل المدقق (verifier) عند تعيين العلم BPF_F_TEST_RND_HI32:
0: call bpf_ktime_get_ns call bpf_ktime_get_ns 1: r0 &= 0x7fffffff بعد المدقق r0 &= 0x7fffffff 2: w1 = w0 يعيد الكتابة w1 = w0 3: if w0 r11 = 0x2f5674a6 (r) 4: r1 >>= 32 r11 <<= 32 (r) 5: r0 = r1 r1 |= r11 (r) 6: exit; if w0 < 0xa goto pc+0 r1 >>= 32 r0 = r1 exit
(أو أن تمديد الصفر (zero extension) لـ w1 عند (2) مفقود للهندسات المعمارية التي تتطلب تمديد الصفر للنصف العلوي من السجل).
ما يحدث دون هذا التصحيح (patch): - يتم وضع علامة على r0 بأنه ليس subreg عند (0)؛ - يتم وضع علامة على w1 كـ subreg عند (2)؛ - يتم تجاوز علامة subreg_def لـ w1 عند (3) بواسطة copy_register_state()؛ - يتم قراءة w1 عند (5) لكن mark_insn_zext() لا تضع علامة على (2) لتمديد الصفر، لأن علامة subreg_def لـ w1 غير مضبوطة؛ - بسبب العلم BPF_F_TEST_RND_HI32، يقوم المدقق بإدراج قيمة عشوائية لبتات hi32 عند (2) (المشار إليها بـ (r))؛ - يتم قراءة هذه القيمة العشوائية عند (5).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.