
Linux kernel privilege escalation exploit يربط ثغرتي page-cache write (CVE-2026-43284, CVE-2026-43500) للحصول على deterministic root access على التوزيعات الرئيسية.
يشرح هذا المستند فئة الثغرات Dirty Frag، التي اكتشفها وأبلغ عنها Hyunwoo Kim (@v4bel). من خلال ربط xfrm-ESP Page-Cache Write (CVE-2026-43284) مع RxRPC Page-Cache Write (CVE-2026-43500)، يمكن للمهاجم الوصول إلى صلاحيات الجذر (root) على توزيعات لينكس الرئيسية.
Dirty Frag توسع نفس عائلة الثغرات مثل Dirty Pipe و Copy Fail. إنها ثغرة منطقية حتمية لا تعتمد على نوافذ التوقيت أو السباقات (races)، ولا تسبب انهيارات kernel عند الفشل، ولها معدل نجاح مرتفع جدًا عند استغلالها.
للحصول على التفاصيل الفنية الكاملة والجدول الزمني للإفصاح، انظر إلى الوثائق الفنية المصاحبة (غير المضمنة في هذا المستودع).
xfrm-ESP Page-Cache Write (CVE-2026-43284) في الفرع الرئيسي في الـ commit f4c50a4034e6.RxRPC Page-Cache Write (CVE-2026-43500) في الفرع الرئيسي في الـ commit aa54b1d27fe0.[!NOTE] عندما تم نشر هذا المستند لأول مرة (2026-05-07)، كان الحظر (embargo) قد تم اختراقه خارجيًا بالفعل. في ذلك الوقت، لم يكن هناك أي تصحيح عام أو CVE متاح. بعد مناقشات مع المطورين على [email protected]، تم نشر الإفصاح عن Dirty Frag. انظر إلى الوثائق الفنية للحصول على الجدول الزمني.
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
هذا الإثبات المفاهيمي (PoC) تم مشاركته لأغراض إعلامية بعد التنسيق مع linux-distros. لا تقم بتشغيله على أنظمة غير مصرح لك باختبارها.
⚠️ هام: تشغيل الاستغلال يلوث ذاكرة التخزين المؤقت للصفحات (page cache). لاستعادة حالة نظيفة، قم إما بتشغيل:
echo 3 > /proc/sys/vm/drop_caches
أو أعد تشغيل الجهاز.
عمليًا، تمتد هذه الثغرات على مدى حوالي تسع سنوات.
إصدارات التوزيعات التي تم اختبارها تشمل:
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"
توفر ثغرة xfrm-ESP Page-Cache Write أداة قوية للكتابة العشوائية لـ 4 بايت (strong arbitrary 4-byte STORE primitive) تشبه Copy Fail وهي متوفرة على العديد من التوزيعات، ولكنها تتطلب صلاحية لإنشاء مساحة أسماء (namespace).
قد تقيد Ubuntu إنشاء مساحة أسماء غير مميزة عبر AppArmor، مما يمنع تشغيل xfrm-ESP. ثغرة RxRPC Page-Cache Write لا تتطلب صلاحيات إنشاء مساحة أسماء، ولكن وحدة rxrpc.ko غير موجودة افتراضيًا على العديد من التوزيعات. ومع ذلك، على Ubuntu، يتم تحميل rxrpc.ko عادةً.
ربط كلتيهما يغطي الفجوات لكل منهما، مما يمكن من الوصول إلى الجذر على جميع التوزيعات الرئيسية. انظر إلى الوثائق الفنية للحصول على التفاصيل.
نعم — Dirty Frag مرتبطة بـ "Dirty Pipe"، والاسم يعكس أن فئة الثغرة تغير العضو frag في struct sk_buff.
ألهمت Copy Fail هذا البحث. ثغرة xfrm-ESP Page-Cache Write في سلسلة Dirty Frag تشترك في نفس الـ sink مع Copy Fail، ولكنها تُشغل حتى في وجود التخفيف الخاص بـ algif_aead. وبالتالي، الأنظمة المحصنة ضد Copy Fail قد تظل عرضة لـ Dirty Frag.
اتبع الخطوات في قسم التخفيف أعلاه.