
CVE-2025-6019: udisks2 XFS تغيير الحجم TOCTOU تصعيد الامتيازات
يحتوي هذا المستودع على إثبات المفهوم (PoC) للثغرة CVE-2025-6019، وهي ثغرة حالة سباق (Race Condition) في udisks2 تسمح بتصعيد الامتيازات محلياً عبر تغيير حجم نظام ملفات XFS.
هذا الاستغلال مصمم ليكون عالمياً لأي نظام لينكس يستوفي المعايير التالية:
الخدمة المعرضة للخطر: udisks2 (مع تمكين الوصول إلى D-Bus).
أداة نظام الملفات: xfsprogs مثبتة (خاصة mkfs.xfs).
الهندسة المعمارية: غير محددة (تعمل على x86, x64, ARM, إلخ).
تم التحقق من الاستغلال على التكوين التالي:
weapon.py تلقائياً بإعداد PATH البيئة لتحديد موقع mkfs.xfs، والذي يكون عادةً مقيداً في sbin.يتطلب الاستغلال صورة XFS مصممة خصيصاً تم إنشاؤها باستخدام Protofile. يسمح لنا ذلك بتعريف هيكل نظام ملفات يتضمن ثنائي SUID جذر (pwnbash) دون الحاجة إلى صلاحيات الجذر أثناء مرحلة إنشاء الصورة. يستخدم علم mkfs.xfs -p هذا القالب لدمج بت SUID مباشرة في بيانات الصورة الوصفية.
المستخدمون العاديون في الجلسات البعيدة (SSH، Docker) مقيدون من استخدام udisks2. قم بتشغيل هذا النص البرمجي لتزوير جلسة محلية (seat0):
python3 bypass.py
قم بإنشاء صورة SUID باستخدام weapon.py. يستخدم هذا النص البرمجي ملف البروتو XFS لتضمين شل بصلاحيات 4755. python3 weapon.py
قم بتشغيل trigger.sh لبدء إغراء udisks2 بطلبات تغيير حجم D-Bus. هذا يجبر البرنامج الخفي على إنشاء نقاط تحميل مؤقتة في /tmp/blockdev.XXXXXX. chmod +x trigger.sh ./trigger.sh
نظراً لأن النصوص البرمجية الآلية قد تكون غير مستقرة في البيئات محدودة الموارد، يوصى بالطريقة اليدوية:
راقب /tmp لنقاط التحميل المؤقتة:
watch -n 0.1 "ls -la /tmp"
حدد الهدف: ابحث عن دليل بصلاحيات قراءة عالمية (مثل drwxr-xr-x) بدلاً من الصلاحيات المشددة الافتراضية drwx------.
نفذ الحمولة: بمجرد التحديد، انتقل إلى الدليل ونفذ الشل: cd /tmp/blockdev.Q797J3 # Example directory name ./pwnbash -p النتيجة: إذا تم التنفيذ ضمن نافذة السباق (قبل تطبيق علم nosuid)، ستحصل على شل جذر.
bypass.py: نص برمجي تكويني لتزوير جلسة محلية (seat0) وتجاوز قيود Polkit عبر ~/.pam_environment.
weapon.py: مولد صورة SUID باستخدام قالب Protofile XFS.
trigger.sh: مشغل حالة السباق D-Bus لتغيير حجم نظام ملفات udisks2.
للحصول على تفصيل دقيق: 👉 NetaCoding - https://netacoding.com/posts/udisks2-cve_lpe/
هذا المشروع مخصص لأغراض التعليم واختبار الأمان المصرح به فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني.