
نص برمجي سريع للتخفيف والتصحيح لثغرة CVE-2026-31431 (Copy Fail) على خوادم Ubuntu/Debian VPS
🌐 English | Português | Español | 中文 | Íslenska
أمر واحد للتخفيف والإصلاح لثغرة CVE-2026-31431 — ثغرة تصعيد الامتيازات المحلية "Copy Fail" في نواة لينكس. يقوم السكربت بتعطيل الوحدة المتأثرة algif_aead، وترقية النواة عبر apt، و(اختياريًا) تثبيت مؤقّت systemd لإبقاء النظام محدّثًا.
مصمم لـ خوادم Ubuntu (متوافق أيضًا مع الأنظمة المبنية على Debian).
⚠️ راجع السكربت قبل تشغيله. هذه أداة أمنية تعمل بصلاحيات الجذر. اقرأ
copyfail.shقبل تمريره إلىsudo. فضّل دائمًا عملية تحديث النواة الرسمية لتوزيعتك عندما يكون ذلك ممكنًا.
CVE-2026-31431 ("Copy Fail") هي خلل منطقي في واجهة algif_aead الخاصة بالنواة (واجهة مقبس AEAD لواجهة التشفير في مساحة المستخدم). يمكن لمستخدم محلي غير مميز تشغيل كتابة حتمية بحجم 4 بايت في ذاكرة التخزين المؤقت للصفحات لأي ملف قابل للقراءة — بما في ذلك ملفات setuid الثنائية — والحصول على صلاحيات الجذر في ثوانٍ. تم إدخال الخلل في عام 2017 (commit 72548b093ee3) ويؤثر على كل نواة تم بناؤها بين 2017 والإصلاح. يقوم هذا السكربت بتعطيل الوحدة المعرضة للخطر أثناء تطبيقك لتصحيح النواة الخاص بتوزيعتك.
apt-get و awksudo)wget -O copyfail.sh https://raw.githubusercontent.com/paulorlima9/copyfail-fix/main/copyfail.sh
chmod +x copyfail.sh
sudo ./copyfail.sh
عند التشغيل الأول، سيقوم السكربت بما يلي:
/etc/modprobe.d/disable-algif.conf لحظر الوحدة algif_aeadalgif_aead إذا كانت محمّلة حاليًاapt-get update && apt-get upgrade -y لسحب النواة المصححةإعادة التشغيل مطلوبة بعد الترقية لتحميل النواة الجديدة.
sudo ./copyfail.sh [options]
| الخيار | المختصر | الوصف |
|---|---|---|
--help | -h | عرض رسالة المساعدة |
--mitigate | -m | تطبيق التخفيف فقط (تعطيل وحدة algif_aead) |
--upgrade | -u | ترقية النواة/الحزم فقط (apt-get upgrade) |
--check | -c | عرض الحالة الحالية (إصدار النواة، الوحدة، التخفيف) |
--revert | -r | التراجع عن التخفيف (بعد تصحيح النواة وإعادة التشغيل) |
--supervision | -s | تفعيل التحديثات التلقائية اليومية عبر مؤقّت systemd |
إصلاح كامل — تطبيق التخفيف وترقية النواة:
sudo ./copyfail.sh
فحص الحالة فقط:
sudo ./copyfail.sh --check
تخفيف فقط (بدون ترقية النواة):
sudo ./copyfail.sh --mitigate
التراجع عن التخفيف بعد التأكد من تصحيح النواة وإعادة التشغيل:
sudo ./copyfail.sh --revert
تفعيل التحديث التلقائي اليومي (الإشراف):
sudo ./copyfail.sh --supervision
ميزة الإشراف تقوم بتثبيت مؤقّت systemd يشغّل apt-get upgrade مرة كل 24 ساعة، مما يضمن التقاط تصحيحات النواة فور نشرها من توزيعتك.
عند التفعيل، يتم إنشاء وحدتي systemd:
copyfail-fix-supervision.service — خدمة oneshot تنفذ السكربت مع --upgradecopyfail-fix-supervision.timer — مؤقّت يشغّل الخدمة يوميًا (وبعد 5 دقائق من الإقلاع)# فحص حالة المؤقّت
systemctl status copyfail-fix-supervision.timer
# عرض موعد التشغيل المجدول التالي
systemctl list-timers copyfail-fix-supervision.timer
# تعطيل التحديثات التلقائية
sudo systemctl stop copyfail-fix-supervision.timer
sudo systemctl disable copyfail-fix-supervision.timer
# تشغيل تحديث يدويًا
sudo systemctl start copyfail-fix-supervision.service
install algif_aead /bin/false إلى /etc/modprobe.d/disable-algif.conf بحيث لا يمكن تحميل الوحدة عند الإقلاع التاليrmmod algif_aead لإلغاء تحميلها من النواة قيد التشغيل (يتم تخطيه إذا كانت الوحدة قيد الاستخدام — إعادة التشغيل مطلوبة)apt-get update متبوعًا بـ apt-get upgrade غير تفاعلي لتثبيت أحدث حزمة نواة--check، يفحص uname -r و lsmod وملف modprobe وأحدث حزمة linux-image-* مثبتة--revert، يحذف ملف modprobe ويعيد تحميل الوحدة عبر modprobeأثناء التنفيذ، يعرض السكربت مؤشرات التقدم:
+ (أخضر) — تم تطبيق الإجراء- (أحمر) — تم التراجع عن الإجراء. (رمادي) — تم تخطي الإجراء (مطبق بالفعل أو غير قابل للتطبيق)! (أصفر) — تحذير (مثل: إعادة التشغيل مطلوبة)MIT