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

الملخص

بحسب VulDB • 18/09/2026

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

bpf: نسخ حشو قيمة الخريطة الخاصة بكل معالج (per-CPU) في دالة copy_map_value_long()

تُخزن عناصر الخرائط الخاصة بكل معالج داخل النواة بحجم مُقرب لأعلى إلى أقرب مضاعف لـ 8 بايتات، أي `round_up(map->value_size, 8)` bytes. وفي مسارات واجهة برمجة التطبيقات للمستخدم (UAPI) الخاصة بالبحث، يتم نسخ الحجم المُقرّب لكل معالج إلى مؤقت ذاكرة عشوائية (temporary buffer).

ومع ذلك، تمرر الدالة `copy_map_value_long()` قيمة `'map->value_size'` إلى دالة `bpf_obj_memcpy()`. عندما تحتوي الخريطة على حقول خاصة، تقوم `bpf_obj_memcpy()` بنسخ البيانات حول تلك الحقول باستخدام `memcpy()`، ولا تنسخ الحشو الذيلي (tail padding) الموجود بين `'map->value_size'` و `round_up(map->value_size, 8)`.

يتم تخصيص مؤقتات بحث واجهة برمجة التطبيقات للمستخدم (UAPI lookup buffers) دون استخدام العلم `__GFP_ZERO`. ونتيجة لذلك، عندما لا يكون حجم قيمة الخريطة الخاصة بكل معالج مساويًا لـ `round_up(map->value_size, 8)`، يمكن أن تُعيد عمليات البحث من نوع UAPI LOOKUP_ELEM ومتغيراتها محتويات ذاكرة عشوائية (heap) قديمة ناتجة عن هذا الحشو إلى مساحة المستخدم. تنطبق نفس المشكلة على `bpf_iter` للخرائط الخاصة بكل معالج.

تم تمرير قيمة `round_up(map->value_size, 8)` إلى دالة `bpf_obj_memcpy()` من داخل `copy_map_value_long()`, بحيث يتم نسخ كامل شريحة (slot) الخريطة الخاصة بكل معالج، سواء كانت تحتوي على حقول خاصة أم لا. كما تم إزالة استدعاء `round_up()` الزائد عن الحاجة في مسار long_memcpy الخاص بـ `bpf_obj_memcpy()`.

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

مسؤول

Linux

حجز

17/09/2026

إفشاء

18/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-407248

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!