
إثبات مفهوم استغلال لـ CVE-2022-0847 (Dirty Pipe)، وهو حالة تسابق في نواة Linux تتيح الكتابة غير المصرح بها إلى الملفات للقراءة فقط ورفع الصلاحيات.
استغلال إثبات مفهوم لثغرة CVE-2022-0847 (Dirty Pipe)، وهي ثغرة في نواة لينكس تسمح للمستخدمين غير المميزين بالكتابة إلى الملفات للقراءة فقط.
تؤثر CVE-2022-0847 على نوى لينكس من الإصدار 5.8 حتى 5.16. تستغل الثغرة حالة تسابق (race condition) في تنفيذ الأنابيب (pipes) في نواة لينكس لكتابة بيانات عشوائية إلى صفحات الملفات للقراءة فقط المخزنة مؤقتًا في الذاكرة.
/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 لحقن مستخدم جذر بتجزئة كلمة مرور معروفة.
يعمل الاستغلال عن طريق:
PIPE_BUF_FLAG_CAN_MERGEsplice() لربط صفحة ملف بمخزن الأنبوب المؤقتيتيح ذلك الكتابة إلى صفحات الذاكرة للقراءة فقط دون تفعيل آلية النسخ عند الكتابة (COW).
/proc/self/mem إن أمكنهذا الاستغلال مخصص لأغراض تعليمية واختبار أمني مصرّح به فقط. الوصول غير المصرّح به إلى أنظمة الحاسوب غير قانوني.