
استغلال بيانات فقط لـ CVE-2024-0582
يُطبِّق هذا الاستغلال طريقة هجوم Dirty Cred للحصول على وصول كتابة غير مصرح به إلى /etc/passwd. على عكس العديد من الاستغلالات المماثلة التي تنشئ صفحات عديدة أو ترش مؤشرات الملفات بشكل عدواني، فإن هذا النهج يأخذ طريقًا أكثر استهدافًا لإفساد هياكل النواة الضرورية.
تعيين تقارب وحدة المعالجة المركزية وزيادة حد مؤشرات الملفات
يضمن أداءً مستقرًا وعددًا كافيًا من مؤشرات الملفات للرش.
تهيئة io_uring
ينشئ مثيل io_uring ويسجل حلقة مخزن مؤقت لاستخدام ذاكرة النواة.
إلغاء تسجيل حلقة المخزن المؤقت
يؤدي إلى تشغيل الثغرة الأمنية، تاركًا هياكل بيانات النواة في حالة قابلة للاستغلال.
رش مؤشرات الملفات
يفتح العديد من مؤشرات الملفات إلى /etc/passwd، على أمل إفساد كائن النواة المطلوب.
تعديل وضع الملف
يفسد أعلام f_mode بحيث يصبح /etc/passwd قابلًا للكتابة.
كتابة إدخال باب خلفي
يُدرج evil::0:0:root:/root:/bin/bash في /etc/passwd.
io_uring ضعيف (تم اختباره على نواة بها خطأ CVE-2024-0582)..rs).EXT4_FOPS_OFFSET في main.rs (القيمة الافتراضية مضبوطة على 0x122b3c0) اعتمادًا على إصدار لينكس الخاص بك. عدم التطابق قد يسبب فشل الاستغلال أو سلوك غير صحيح.إذا كانت نواتك تُصدر معلومات الرموز ولديك الصلاحيات المناسبة (غالبًا ما يكون هذا مقيدًا على أنظمة الإنتاج)، يمكنك القراءة من /proc/kallsyms:
احصل على عنوان _text:
grep " _text" /proc/kallsyms
لنسمي العنوان الناتج TEXT_ADDR.
احصل على عنوان ext4_file_operations:
grep ext4_file_operations /proc/kallsyms
لنسمي العنوان الناتج EXT4_FOPS_ADDR.
اطرح:
EXT4_FOPS_OFFSET = EXT4_FOPS_ADDR – TEXT_ADDR