
إثبات مفهوم استغلال لـ CVE-2022-0847 (Dirty Pipe)، وهو حالة تسابق في نواة Linux تتيح الكتابة غير المصرح بها إلى الملفات للقراءة فقط ورفع الصلاحيات.
استغلال إثبات مفهوم لثغرة CVE-2022-0847 (Dirty Pipe)، وهي ثغرة في نواة Linux تسمح للمستخدمين غير المتمتعين بصلاحيات بالكتابة إلى الملفات للقراءة فقط.
تؤثر CVE-2022-0847 على نوى Linux من الإصدار 5.8 حتى 5.16. تستغل الثغرة حالة تسابق (race condition) في تنفيذ الأنابيب (pipe) في نواة Linux لكتابة بيانات عشوائية إلى صفحات الملفات للقراءة فقط المخزنة مؤقتًا في الذاكرة.
/etc/passwd).
├── src/
│ └── exploit.c # Dirty Pipe exploit source code
├── run.sh # QEMU test environment launcher
├── initramfs/ # Root filesystem for testing
├── debugfs.cpio # Compressed initramfs
└── README.md # This file
libelf-dev (لبناء النواة)gcc ./src/exploit.c -o ./src/exploit -static -pthread
./run.sh
# Inside QEMU shell:
/home/exploit
cat /etc/passwd # Verify password hash was written
su root # Switch to root (no password needed after exploit)
./src/exploit
يقوم الاستغلال بتعديل /etc/passwd لحقن مستخدم root بتجزئة كلمة مرور معروفة.
يعمل الاستغلال من خلال:
PIPE_BUF_FLAG_CAN_MERGEsplice() لربط صفحة ملف بمخزن الأنبوب المؤقتيتيح ذلك الكتابة إلى صفحات الذاكرة للقراءة فقط دون تفعيل COW (Copy-on-Write).
/proc/self/mem إن أمكنهذا الاستغلال مخصص لأغراض التعليم واختبار الأمان المصرح به فقط. الوصول غير المصرح به إلى أنظمة الحاسوب غير قانوني.
Minh Vu ([email protected])