
إثباتات الاختراق (PoC) لثغرة CVE-2026-31431، وهي ثغرة تصعيد صلاحيات محلية (LPE) في نواة لينكس عبر كتابة ذاكرة التخزين المؤقت للصفحات في authencesn، مما يتيح للمستخدم غير المميز تصعيد الصلاحيات إلى صلاحيات الجذر (root) على معظم التوزيعات منذ عام 2017.
Copy Fail هو خطأ منطقي في نظام التشفير الفرعي في نواة لينكس (CVE-2026-31431). تحسين تم إجراؤه في عام 2017 في algif_aead.c وضع عن طريق الخطأ صفحات ذاكرة التخزين المؤقت للصفحات في قائمة scatterlist قابلة للكتابة. خوارزمية AEAD authescesn تكتب 4 بايتات مؤقتة خارج حدود الإخراج أثناء فك التشفير، والتي - من خلال scatterlist في المكان - تصل مباشرة إلى النسخة المخزنة مؤقتًا في النواة من أي ملف يقوم المهاجم بإدخاله. وهذا يمنح مستخدمًا محليًا غير مميز كتابة محكومة من 4 بايتات إلى ذاكرة التخزين المؤقت للصفحات لأي ملف قابل للقراءة، مما يسهل التصعيد إلى صلاحيات الجذر عن طريق إتلاف ملف setuid ثنائي.
يحتوي هذا المستودع على استغلالات PoC نظيفة وقابلة للقراءة بلغة C وPython، تم التحقق منها على Ubuntu 24.04 LTS (kernel 6.8.0-1012-aws).
$ ./copy_fail
# id
uid=0(root) gid=1000(user) groups=1000(user)
اقرأ الشرح الكامل وتفصيل الاستغلال على zyenra.com
git clone https://github.com/rvizx/CVE-2026-31431.git
cd CVE-2026-31431
python3 copy_fail.py
git clone https://github.com/rvizx/CVE-2026-31431.git
cd CVE-2026-31431
gcc -o copy_fail copy_fail.c
./copy_fail
لأغراض اختبار الأمان المصرح به والبحث فقط. لا تقم بتشغيله على أنظمة لا تملكها أو ليس لديك إذن كتابي لاختبارها. يقوم الاستغلال بتعديل ذاكرة التخزين المؤقت للصفحات لملف setuid ثنائي - وصدفة الجذر الناتجة حقيقية.
Ravindu Wickramasinghe (@rvz) - Zyenra Security