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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-31431 — # استغلال تصعيد الامتيازات المحلية في لينكس لثغرة CVE-2026-31431 استغلال تصعيد الامتيازات المحلية في لينكس لثغرة CVE-2026-31431، حيث يتم إساءة استخدام واجهة AF_ALG للتشفير مع دالة splice() لتعديل ذاكرة التخزين المؤقت للصفحات (page cache) وتشغيل قشرة بصلاحيات الجذر (root shell). | Kitploit
أدوات/GitHubGitHub/vyahello/cve-2026-31431
تصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقاستغلال الملفات الثنائية
GitHubvyahello/cve-2026-31431

CVE-2026-31431

# استغلال تصعيد الامتيازات المحلية في لينكس لثغرة CVE-2026-31431 استغلال تصعيد الامتيازات المحلية في لينكس لثغرة CVE-2026-31431، حيث يتم إساءة استخدام واجهة AF_ALG للتشفير مع دالة splice() لتعديل ذاكرة التخزين المؤقت للصفحات (page cache) وتشغيل قشرة بصلاحيات الجذر (root shell).

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Copy Fail - CVE-2026-31431

يحتوي هذا المستودع على PoC صغير لتصعيد الامتيازات محليًا في نظام Linux لثغرة CVE-2026-31431، والمعروفة أيضًا باسم "Copy Fail".

يستهدف الاستغلال مسار algif_aead في نواة Linux ضمن واجهة برمجة التشفير AF_ALG في مساحة المستخدم. يستخدم AF_ALG مع splice() لإجبار النواة على الكتابة في ذاكرة التخزين المؤقت للصفحات الخاصة بـ /usr/bin/su على شكل أجزاء بحجم 4 بايت، ثم ينفذ su بعد تعديل ذاكرة التخزين المؤقت للصفحات.

نظرة عامة على الكود المصدري

يقوم الـ PoC في copy_fail_exp.py بأربعة أشياء:

  1. يفتح مقبس AF_ALG لـ aead مع التحويل authencesn(hmac(sha256),cbc(aes)).
  2. يهيئ الطلب بنفس قيم setsockopt() المستخدمة في إثبات المفهوم الأصلي.
  3. يستخدم استدعاءين لـ splice() لنقل البيانات من الملف الهدف إلى مسار طلب AF_ALG، وهو مسار النواة المعيب.
  4. يفك ضغط حمولة مدمجة بحجم 160 بايت ويكتبها في الملف الهدف على شكل أجزاء بحجم 4 بايت. الحمولة هي كعب ELF يتضمن /bin/sh.

كتلة zlib ليست بيانات عشوائية. إنها حمولة مدمجة تهدف إلى استبدال بداية /usr/bin/su في ذاكرة التخزين المؤقت للصفحات بحيث يؤدي التنفيذ التالي لـ su إلى فتح قشرة بصلاحيات الجذر.

الإصدارات المتأثرة

تم إدخال الكود المعيب في تغييرات algif_aead التي تعود إلى عصر نواة Linux 4.14 وظل موجودًا حتى الإصلاح الرسمي الذي يتراجع عن تحسين المعالجة الموضعية.

النطاق الواسع

  • أنوية Linux المبنية من 2017 فصاعدًا والتي تتضمن مسار algif_aead الموضعي المعيب.
  • معظم التوزيعات السائدة التي أصدرت أنوية في تلك الفترة ولم تقم بعد بنقل الإصلاح إلى إصداراتها.
  • الأنظمة التي يتم فيها تمكين واجهة برمجة التشفير AF_ALG، وهو الإعداد الافتراضي في معظم توزيعات Linux ذات الأغراض العامة.

تم اختباره / التحقق منه علنًا

التوزيعةالنواة
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.1

نقاط الإصلاح الرسمية

  • 6.18.22
  • 6.19.12
  • 7.0

فروع LTS النهائية آمنة فقط بعد وصول نقل الإصلاح من المورد إلى حزمة النواة التي تشغّلها فعليًا.

إعادة الإنتاج

استخدم جهاز VM مخبري أو مضيف حاويات تملكه. لا تشغّل هذا على أنظمة الإنتاج.

  1. قم بتشغيل نظام بنواة معيبة.
  2. تأكد من أن /usr/bin/su موجود وله صلاحية setuid-root.
  3. شغّل الـ PoC:
root@kitploit:~
python3 copy_fail_exp.py
  1. إذا نجح الاستغلال، يقوم السكربت بتعديل /usr/bin/su ثم يستدعي su. يجب أن ينتهي بك الأمر في قشرة بصلاحيات الجذر أو ترى موجه جذر، اعتمادًا على البيئة.

التشغيل

لا يحتوي السكربت على تبعيات إضافية تتجاوز مكتبة Python 3 القياسية.

root@kitploit:~
python3 copy_fail_exp.py

إذا كنت تريد فحص الهدف أولاً، فإن السكربت يستخدم حاليًا /usr/bin/su كهدف افتراضي.

تحديث الإصلاح

إذا كنت تحافظ على نواة فرعية، فإن الإصلاح الصحيح هو نقل الإصلاح الرسمي الذي يتراجع عن تحسين AEAD الموضعي:

  • التزام الإصلاح الرسمي: a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
  • يتراجع الإصلاح في الغالب عن التغيير الموضعي السابق 72548b093ee3.

سير العمل الموصى به لشجرة نواة فرعية:

root@kitploit:~
git cherry-pick a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
make olddefconfig
make -j"$(nproc)"
make modules_install
make install
reboot

إذا كنت لا تعيد بناء الأنوية بنفسك، قم بتثبيت حزمة نواة المورد التي تحتوي على الإصلاح المنقول وأعد التشغيل عليها.

تخفيف مؤقت

إذا تأخر التصحيح، قم بتعطيل مسار الوحدة كإجراء مؤقت:

root@kitploit:~
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null

هذا إجراء تخفيف وليس إصلاحًا.

ملاحظات

  • الـ PoC صغير ومحدد النتائج عن قصد.
  • الاستغلال محلي فقط، لكن تأثيره كبير على المضيفات المشتركة، ومشغّلات CI، وعُقد Kubernetes، ومنصات الحاويات لأن ذاكرة التخزين المؤقت للصفحات على المضيف مشتركة.
  • خطأ النواة هو خطأ منطقي وليس حالة سباق، لذا فإن مسار الاستغلال موثوق بمجرد وجود الكود المعيب.
تنزيل الأداة
6.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default