ثغرة أمنية في e2fsck عند معالجة الدلائل المصممة خصيصًا

في أداة e2fsck المرفقة مع الحزمة e2fsprogs, المحددة عالي التأثر (CVE-2019-5188)، مما يسمح بتنفيذ تعليمات برمجية ضارة عند فحص نظام ملفات يحتوي على مجلدات بتنسيق خاص. تم تأكيد الثغرة في الإصدارات من 1.43.3 إلى 1.45.4. تم إصلاح الثغرة في التحديث e2fsck 1.45.5. في التوزيعات تظل المشكلة دون حل (Debian, قوس Linux, SUSE / openSUSE, Ubuntu, RHEL).

تنشأ هذه الثغرة الأمنية بسبب خطأ في دالة mutate_name() من ملف rehash.c، المُستخدم لإعادة بناء جداول التجزئة المُتعلقة بالمجلدات والتي تُطابق جميع الملفات في المجلد. قد يؤدي تلف بنية hash_entry المُتعلقة بالمجلدات إلى كتابة بيانات المُهاجم في منطقة خارج المخزن المؤقت المُخصص. في حال وجود ملفات متعددة بنفس الاسم في جدول التجزئة المُرتبط بمجلد، تُعيد أداة e2fsck تسمية الملفات المُكررة بإضافة ~0، ~1، إلخ. ويُخصص مخزن مؤقت بحجم 256 بايت في المكدس لتخزين الاسم الجديد مؤقتًا أثناء عملية إعادة التسمية.

يُحدَّد حجم البيانات المنسوخة باستخدام التعبير "entry->name_len & 0xff"، ولكن قيمة entry->name_len تُحمَّل من بنية القرص، بدلًا من حسابها بناءً على حجم الاسم الفعلي. إذا كان الحجم صفرًا، يُعيَّن مؤشر المصفوفة إلى -1، مما يُهيئ ظروفًا لحدوث تجاوز في عدد صحيح وكتابة بيانات أخرى على المكدس بقيمة "~0". بالنسبة لأنظمة 64 بت، يُعتبر استغلال الثغرة الأمنية غير مُرجَّح، ولا يتطلب أي قيود على حجم المكدس (ulimit -s unlimited). أما بالنسبة لأنظمة 32 بت، فيُعتبر الاستغلال مُمكنًا، ولكن النتيجة تعتمد بشكل كبير على كيفية تجميع المُجمِّع للملف القابل للتنفيذ.

لتنفيذ هجوم، يجب على المهاجم إتلاف البيانات في قسم بنظام ملفات ext2 أو ext3 أو ext4. وبما أن هذه العملية تتطلب صلاحيات المستخدم الفائق، تُشكل هذه الثغرة تهديدًا عند فحص محركات الأقراص الخارجية أو صور أنظمة الملفات المُحصل عليها خارجيًا باستخدام أداة e2fsck.

المصدر: opennet.ru

شراء استضافة موثوقة للمواقع مع حماية DDoS وخوادم VPS VDS 🔥 اشترِ استضافة مواقع ويب موثوقة مع حماية من هجمات DDoS، وخوادم VPS وVDS | ProHoster