ثغرة أمنية في نواة Linux يمكن أن تتسبب في حدوث عطل عن طريق إرسال حزمة UDP

في نواة لينكس المحددة وهن (CVE-2019-11683)، والذي يسمح لك بالتسبب في رفض الخدمة عن بعد عن طريق إرسال حزم UDP مصممة خصيصًا (حزمة الموت). سبب المشكلة هو وجود خطأ في معالج udp_gro_receive_segment (net/ipv4/udp_offload.c) مع تطبيق تقنية GRO (Generic Receive Offload) ويمكن أن يؤدي إلى تلف محتويات مناطق ذاكرة kernel عند معالجة حزم UDP بدون حشوة (حمولة فارغة).

المشكلة تؤثر فقط على النواة 5.0منذ أن كان دعم GRO لمآخذ UDP مُنفّذ في نوفمبر من العام الماضي ولم تتمكن إلا من الوصول إلى أحدث إصدار مستقر للنواة. تتيح لك تقنية GRO تسريع معالجة عدد كبير من الحزم الواردة عن طريق تجميع حزم متعددة في كتل أكبر لا تتطلب معالجة منفصلة لكل حزمة.
بالنسبة لـ TCP، لا تحدث المشكلة، نظرًا لأن هذا البروتوكول لا يدعم تجميع الحزم بدون حمولة.

تم إصلاح الثغرة الأمنية حتى الآن فقط في النموذج رقعة، لم يتم نشر التحديث التصحيحي بعد (إصلاح تحديث الأمس 5.0.11 غير مشمول). من مجموعات التوزيع، تمكن kernel 5.0 من تضمينها فيدورا 30, أوبونتو 19.04, قوس لينكس, جنتو وغيرها من التوزيعات المحدثة باستمرار. ديبيان, أوبونتو 18.10 والإصدارات الأقدم, RHEL / CentOS и SUSE / openSUSE لا تؤثر المشكلة.

تم العثور على المشكلة نتيجة لذلك استخدم نظام اختبار التشويش الآلي الذي أنشأته Google syzbot ومحلل كاسان (KernelAddressSanitizer)، يهدف إلى تحديد الأخطاء عند العمل مع الذاكرة وحقائق الوصول غير الصحيح إلى الذاكرة، مثل الوصول إلى مناطق الذاكرة المحررة ووضع التعليمات البرمجية في مناطق الذاكرة غير المخصصة لمثل هذه التلاعبات.

المصدر: opennet.ru

إضافة تعليق