كشف الباحثون عن متغير جديد في عائلة DirtyFrag من ثغرات أمنية لتصعيد الامتيازات المحلية (LPE) لنظام التشغيل Linux، يُسمى “Fragnesia”. تؤثر الثغرة الأمنية على النظام الفرعي XFRM ESP-in-TCP الخاص بنواة Linux. تسمح الثغرة الأمنية للمهاجمين المحليين غير المميزين بتعديل محتويات الملفات للقراءة فقط في ذاكرة التخزين المؤقت لصفحة kernel وتحقيق امتيازات الجذر من خلال الفساد الحتمي لذاكرة التخزين المؤقت للصفحة.
وفقًا للباحث الذي اكتشف Dirty Frag، Hyunwoo Kim، ظهرت Fragnesia كأثر جانبي غير مقصود لإحدى التصحيحات التي تعالج ثغرات Dirty Frag الأصلية.
التفاصيل الفنية
تستغل Fragnesia ثغرة منطقية في تطبيق Linux XFRM ESP-in-TCP، والتي تتضمن على وجه التحديد معالجة غير مناسبة لأجزاء الصفحة المشتركة أثناء دمج skb. يسيء استغلال هذا الاستغلال إلى سيناريو يتم فيه ربط الصفحات المدعومة بالملفات في قائمة انتظار استلام TCP قبل أن ينتقل المقبس إلى وضع espintcp ULP. بمجرد تمكين معالجة ESP، تقوم النواة بفك تشفير البيانات الموضوعة في قائمة الانتظار في مكانها، مما يتسبب في تلف متحكم فيه لذاكرة التخزين المؤقت للصفحة الأساسية من خلال معالجة تدفق المفاتيح AES-GCM.
يستخدم استغلال مساحات أسماء المستخدم والشبكة للحصول على CAP_NET_ADMIN الامتيازات ضمن مساحة اسم معزولة، ويقوم بتثبيت اقتران أمان ESP من خلاله NETLINK_XFRM، ويقوم بشكل متكرر بتشغيل عمليات الكتابة أحادية البايت التي يتم التحكم فيها في صفحات الملفات المخزنة مؤقتًا. أظهر الباحثون الكتابة فوق البايتات الأولى من /usr/bin/su مع حمولة ELF صغيرة تستدعي setresuid(0,0,0) وينفذ /bin/shمما أدى إلى ظهور قشرة الجذر. التعديل موجود فقط في ذاكرة التخزين المؤقت للصفحة ولا يغير الملف الثنائي الموجود على القرص. قد يكون استخدام قيود AppArmor على مساحات أسماء المستخدمين غير المميزة، مثل تلك الافتراضية في Ubuntu، بمثابة تخفيف جزئي، مما يتطلب تجاوزات إضافية للاستغلال الناجح. ومع ذلك، على عكس DirtyFrag، لا توجد حاجة إلى امتيازات على مستوى المضيف.
التوصيات
-
قم بتطبيق تصحيحات kernel للمورد التي تعالج ثغرة XFRM ESP-in-TCP الأساسية عندما تصبح متاحة.
-
حتى يتم نشر التصحيحات، قم بتعطيل الوحدات الضعيفة لكل من Fragnesia وDirtyFrag، إذا لم يكن ذلك مطلوبًا:
rmmod esp4 esp6 rxrpc
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/fragnesia.conf
-
تقييد أو تعطيل مساحات أسماء المستخدمين غير المميزة حيثما كان ذلك ممكنًا من الناحية التشغيلية.
-
مراقبة الأنظمة عند إنشاء مساحة اسم مشبوهة أو معالجة XFRM أو الاستخدام غير الطبيعي لـ AF_ALG.
-
في حالة الاشتباه في حدوث استغلال، أعد تشغيل الأنظمة المتأثرة أو امسح محتويات ذاكرة التخزين المؤقت للصفحة لإزالة الثنائيات المعدلة في الذاكرة:
echo 1 | tee /proc/sys/vm/drop_caches
كيف يمكن أن يساعد الحذق؟
يمكن لعملاء Wiz استخدام الاستعلامات والاستشارات المعدة مسبقًا في Wiz Threat Intel Center للبحث عن المثيلات ذات الصلة في بيئتهم. ستواصل Wiz Research تحديث هذه النصائح مع تطور الوضع.
