
تنفيذ بلغة C لإثبات المفهوم لثغرة CVE-2026-31431، وهي ثغرة تسمم في ذاكرة التخزين المؤقت للصفحات في AF_ALG بنواة لينكس، تتيح تصعيد الامتيازات محليًا واحتمال الهروب من الحاويات عبر تلويث ملفات SUID.
CVE-2026-31431 PoC مُعاد كتابته بلغة C، يمكن استغلاله في البيئات المستهدفة التي لا تتوفر فيها لغة Python
نوع الثغرة: تسميم ذاكرة التخزين المؤقت للصفحات في نظام AF_ALG الفرعي بنواة لينكس، عبر تلويث محتوى ملفات SUID لتحقيق رفع صلاحيات محلي واحتمال الهروب من الحاويات.
إصدارات النواة المتأثرة: لينكس 5.15 ~ 6.1.x (بعض الإصدارات الأقدم أو الأحدث قد تتأثر أيضًا، اعتمادًا على خيارات الترجمة المتعلقة بـ AF_ALG).
شروط الاستغلال:
يجب أن تكون النواة مُترجمة مع CONFIG_CRYPTO_USER_API_AEAD وتدعم خوارزميات AEAD (مثل authenc(hmac(sha256),cbc(aes)))، أو أن تكون الوحدات المقابلة محمّلة.
يجب أن يمتلك المهاجم حسابًا محليًا بصلاحيات منخفضة، مع القدرة على تنفيذ كود عشوائي (مثل رفع ملف ELF مُترجم بشكل ثابت).
يجب أن يدعم نظام الملفات الهدف استدعاء النظام splice.
يمكنك رفع ملف copy_fail مباشرة على الجهاز المستهدف وتنفيذه، أو يمكنك اختيار ترجمة ملف copy_fail.c بنفسك
يُوصى بالترجمة الثابتة (لتجنب الاعتماد على إصدار glibc): gcc -static -o copy_fail copy_fail.c
./copy_fail
هذا الكود مُشتق من الـ PoC الرسمي المكتوب بلغة Python.
هذا الكود مخصص فقط للبحث الأمني والتعليم والاختبارات المصرح بها قانونيًا، ويُحظر تمامًا استخدامه في الهجمات غير القانونية. يتحمل المستخدم كامل المسؤولية القانونية عن أي استخدام.