Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
linux-copy-fail-CVE-2026-31431 — إثبات مفهوم لاستغلال CVE-2026-31431 (Copy-Fail)، وهو ثغرة في نواة لينكس في AF_ALG و splice() تتيح تسميم ذاكرة التخزين المؤقت للصفحات ورفع الامتيازات محليًا. يتضمن تحليلًا ونتائج مختبرية وسكربت كشف. | Kitploit
أدوات/GitHubGitHub/adilkurtulmus/linux-copy-fail-cve-2026-31431
تصعيد الامتيازاتتحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubadilkurtulmus/linux-copy-fail-cve-2026-31431

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

linux-copy-fail-CVE-2026-31431

إثبات مفهوم لاستغلال CVE-2026-31431 (Copy-Fail)، وهو ثغرة في نواة لينكس في AF_ALG و splice() تتيح تسميم ذاكرة التخزين المؤقت للصفحات ورفع الامتيازات محليًا. يتضمن تحليلًا ونتائج مختبرية وسكربت كشف.

عرض المستودع
منذ 3 أشهرلم تتم المراجعة بعد

تحليل ثغرة فشل النسخ في لينكس (CVE-2026-31431) 🛡️

يحتوي هذا المستودع على تحليل متعمق، وإثبات المفهوم (PoC)، ونتائج اختبارات معملية لثغرة CVE-2026-31431، المعروفة باسم "فشل النسخ" (Copy-Fail).

تستغل ثغرة Copy-Fail خللاً منطقياً في واجهة برمجة التشفير (Crypto API) الخاصة بنواة لينكس (AF_ALG) مقترنةً باستدعاء النظام splice(). تسمح هذه الثغرة لمهاجم محلي غير مميز بتنفيذ تسميم ذاكرة التخزين المؤقت للصفحات (Page Cache Poisoning)، مما يؤدي إلى تصعيد الامتيازات المحلية (LPE).

🧠 نظرة تقنية عامة: تسميم ذاكرة التخزين المؤقت للصفحات

على عكس الاستغلالات التقليدية التي تعدّل الملفات على القرص، تستهدف Copy-Fail ذاكرة التخزين المؤقت للصفحات (Page Cache) في ذاكرة الوصول العشوائي (RAM) مباشرةً. عندما يُقرأ ملف، تخزّن النواة نسخة منه في الذاكرة لتحسين الأداء. بسبب خلل في إدارة الذاكرة في خوارزمية authenc على إصدارات محددة من النواة، يمكن للمهاجم خداع النواة لاستبدال صفحات الذاكرة "للقراءة فقط" هذه.

من خلال تسميم صفحات الذاكرة الخاصة بالملفات الثنائية SETUID مثل /usr/bin/su، يمكن تجاوز المصادقة والحصول على قشرة صلبة بصلاحيات الجذر (root).

🧪 البيئات المعملية ونتائج الاختبارات

أُجريت الاختبارات عبر توزيعات أوبونتو متعددة، مع التركيز على تأثير النقل العكسي (backporting) للنواة وإدارة التصحيحات.

التوزيعةإصدار النواةتاريخ التصحيحالنتيجةالملاحظة
أوبونتو 24.046.8.0-87-genericأكتوبر 2025❌ فشلتحديثات أمنية نشطة
أوبونتو 22.045.15.0-125-genericسبتمبر 2024✅ نجاحقابلة للاستغلال (غير مصححة)
أوبونتو 18.044.15.0-197-genericنوفمبر 2022✅ نجاحقابلة للاستغلال (غير مصححة)

مفارقة النقل العكسي

يمكن أن تكون أرقام إصدارات النواة مضللة. فبينما تُحمى النواة "الأحدث" مثل 6.8 من خلال التصحيحات الأمنية، بقيت النوى الأقدم أو المنتهية دورة حياتها (EOL) مثل 4.15 و5.15 قابلة للاستغلال بالكامل بسبب نقص الإصلاحات المنقولة عكسياً.

📊 تحليل مقارن لأوبونتو 22.04 (النواة 5.15)

أثناء البحث، تم الحصول على نتيجة مذهلة من خلال اختبار نظامين مختلفين من أوبونتو 22.04 يتشاركان نفس الإصدار الرئيسي للنواة:

إصدار النواة

التحليل:

يثبت هذا الاختبار أن أمان النظام لا يمكن قياسه برقم الإصدار الرئيسي فقط. يمكن اختراق خادم يعمل بنواة 5.15.0-125 في ثوانٍ، بينما يحجب 5.15.0-170 الهجوم تماماً.

مخرجات الاستغلال الناجح (النواة 5.15.0-125):

root@kitploit:~
$ python3 ubuntu_22.04_copy_fail_exploit.py 
[*] Poisoning /usr/bin/su (Ubuntu 22.04 / Kernel 5.15)...
[+] Exploit completed. Triggering Root...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream01:/tmp#

🛠️ إثبات المفهوم (PoC)

طُوّر إثبات المفهوم باستخدام ctypes لضمان التوافق عبر إصدارات بايثون المختلفة (خاصةً للإصدارات التي تفتقر إلى دعم os.splice الأصلي).

الميزات الرئيسية:

  • استدعاءات libc.splice منخفضة المستوى عبر ctypes.
  • التخزين المؤقت القسري للملف الثنائي المستهدف.
  • إظهار التأثير الجانبي (تسميم مستخدم واحد يؤثر على جميع المستخدمين).

تشغيل الاستغلال:

1.تحميل وحدات التشفير المطلوبة:

sudo modprobe af_alg algif_aead authenc echainiv

2.تنفيذ الاستغلال:

python3 final_exploit.py

🎥 العرض التوضيحي

root@kitploit:~
$ python3 ubuntu_18.04_copy_fail_exploit.py
[*] /bin/su zehirleniyor (Kernel 4.15)...
[+] Bellek zehirlendi! Root tetikleniyor...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream02:/tmp#

🛡️ التخفيف والوقاية

  • 1. الحل النهائي: تحديث النواة

  • sudo apt update && sudo apt upgrade -y
  • sudo reboot

2. الاستجابة الطارئة: مسح ذاكرة التخزين المؤقت

  • لتنظيف الصفحات المسمومة في الذاكرة

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

3. الدفاع الاستباقي: حظر الوحدات

  • echo "blacklist authenc" | sudo tee /etc/modprobe.d/blacklist-authenc.conf
  • echo "blacklist algif_aead" | sudo tee -a /etc/modprobe.d/blacklist-authenc.conf
  • sudo depmod -a

🛡️ سكربت كشف الثغرة

root@kitploit:~
# 1. التحقق من إصدار النواة
# uname -r

# 2. التحقق من الوحدات المحملة (آمن إذا لم يكن هناك مخرجات)
# lsmod | grep -E "algif_aead|authencesn"

# 3. الاختبار الحرج — ربط authencesn
python3 -c "
import socket
try:
    s = socket.socket(38, 5, 0)
    s.bind(('aead', 'authencesn(hmac(sha256),cbc(aes))'))
    print('[!] CRITICAL — System Vulnerable!')
    s.close()
except:
    print('[+] Secure — authencesn unreachable')
"

# 4. تجزئة الملفات الثنائية setuid (مرجع)
sha256sum /usr/bin/su /usr/bin/sudo /usr/bin/passwd

جدول التقييم:

النتيجةالمعنى
لا يوجد مخرجات lsmod + خطأ في الربط✅ آمن
يوجد مخرجات lsmod أو نجاح الربط⚠️ قابل للاستغلال، طبّق التصحيحات فوراً

إخلاء مسؤولية: هذا البحث وإثبات المفهوم مخصصان للأغراض التعليمية واختبارات الأمان المصرح بها فقط. قد يؤدي الاستخدام على أنظمة غير مصرح بها إلى عواقب قانونية.

تنزيل الأداة
تاريخ التصحيح
النتيجة
الحالة
5.15.0-125سبتمبر 2024✅ نجاحقابلة للاستغلال (تم تشغيل الاستغلال)
5.15.0-170يناير 2026❌ فشلآمنة (مصححة)