Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-31431-Copy-Fail---Vulnerability-Detection-Script — نص كشف لـ CVE-2026-31431 (Copy Fail) يتحقق من إصدار النواة، ووجود التصحيح، وإعدادات النواة، وتوفر مقبس AF_ALG، وثنائيات setuid، والإجراءات التخفيفية لتحديد حالة الثغرة الأمنية على أنظمة لينكس. | Kitploit
أدوات/GitHubGitHub/liamromanis101/cve-2026-31431-copy-fail---vulnerability-detection-script
أمن البنية التحتية السحابيةماسحات الثغرات الأمنيةأمن الحاوياتتحليل الثغرات الأمنيةتدقيق التكوينDevSecOpsكشف التسللالاستجابة للحوادث

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
GitHubliamromanis101/cve-2026-31431-copy-fail---vulnerability-detection-script

CVE-2026-31431-Copy-Fail---Vulnerability-Detection-Script

نص كشف لـ CVE-2026-31431 (Copy Fail) يتحقق من إصدار النواة، ووجود التصحيح، وإعدادات النواة، وتوفر مقبس AF_ALG، وثنائيات setuid، والإجراءات التخفيفية لتحديد حالة الثغرة الأمنية على أنظمة لينكس.

عرض المستودع
25233منذ 5 أشهرتمت المراجعة من قبل Kitploit
مشاركة

CVE-2026-31431 — Copy Fail — سكربت اكتشاف الثغرة

للكشف فقط. يوجد PoC عملي بالفعل على copy.fail/#exploit. هذا السكربت مخصص لمسؤولي الأنظمة وفرق الأمان لتحديد أماكن تعرضهم للثغرة — أو استمرار تعرضهم لها بعد تطبيق التصحيح.


ما الموضوع؟

في 29 أبريل 2026، تم الكشف علنًا عن ثغرة تُسمى Copy Fail (CVE-2026-31431) من قبل فريق Xint Code Research Team. إنها خلل منطقي موجود بهدوء في نواة لينكس منذ حوالي 2017 — ما يقارب عقدًا من الزمن — وتسمح لأي مستخدم محلي غير مميز بالحصول على صلاحيات الجذر.

ليس "الحصول على الجذر في ظل ظروف محددة مع بعض الحظ ورياح مواتية." فقط... الحصول على الجذر. بشكل موثوق. على كل توزيعات لينكس الرئيسية تقريبًا.

تؤثر على Ubuntu وAmazon Linux وRHEL وSUSE وأي شيء آخر يعمل بنواة سائدة من آخر ~8 سنوات. نفس السكربت، بدون إعادة ترجمة، وبدون تعديلات خاصة بالتوزيعات.

نعم، الأمر سيء كما يبدو.

النسخة المختصرة لكيفية عملها

تحتوي نواة لينكس على نظام فرعي للتشفير يمكن الوصول إليه من قبل المستخدمين غير المميزين عبر مقابس AF_ALG. توجد آلية تُسمى splice() يمكنها تغذية بيانات الملفات مباشرة إلى ذلك النظام الفرعي دون نسخها — مما يعني أن النسخة المخزنة في ذاكرة النواة من ملف (ما يُسمى "page cache") تنتهي داخل عملية تشفير.

خوارزمية واحدة محددة — authencesn، المستخدمة لأرقام التسلسل الموسعة في IPsec — لديها خصوصية حيث تستخدم مخزن الإخراج كمساحة عمل مؤقتة وتكتب 4 بايتات أبعد قليلاً من الموضع المفترض. عادةً ما يكون هذا غير ضار. ولكن عندما تنتهي صفحات page cache من ثنائي setuid مثل /usr/bin/su في سلسلة داخل مخزن الإخراج ذلك (بفضل "تحسين" عام 2017 في algif_aead.c)، تهبط تلك الـ 4 بايتات مباشرة في النسخة المخزنة في ذاكرة النواة من الثنائي.

تفشل العملية مع خطأ. لا تقوم النواة أبدًا بوضع علامة على تلك الصفحة كمتسخة. الملف على القرص يبقى دون تغيير. أدوات فحص سلامة الملفات التي تتحقق من المجاميع الاختبارية على القرص لا ترى أي خطأ.

لكن page cache هو ما يتم تنفيذه. وsu هو setuid root.

الشرح الفني الكامل موجود على xint.io ويستحق القراءة حقًا.


ما تفحصه السكربتات

سكربت بايثون — 13 فحصًا

سبعة من الإصدار الأصلي بالإضافة إلى ستة فحوصات جديدة أُضيفت لسد فجوات الكشف:

#الفحصما الذي يبحث عنه
1إصدار النواةهل هذه النواة ضمن النطاق المتأثر (4.10–6.14)؟
2وجود التصحيحهل commit الإصلاح موجود فعليًا في نواتك قيد التشغيل؟
3وحدة algif_aeadهل الوحدة الضعيفة محمّلة أو قابلة للتحميل؟
4CONFIG_CRYPTO_AUTHENC (جديد)هل CONFIG_CRYPTO_AUTHENC مدمجة (=y) أم وحدة (=m)؟ هذا الخيار الواحد يبني كلاً من authenc وauthencesn. المدمجة تعني أن تخفيف قائمة الحظر في modprobe لا يفعل شيئًا.
5CONFIG_CRYPTO_USER_API_AEAD (جديد)هل واجهة مستخدم AF_ALG AEAD مضمّنة في الترجمة أصلًا؟ إذا لم تكن كذلك، فإن مسار الاستغلال بأكمله مغلق وقت الترجمة.
6مقبس AF_ALGهل يمكن لمستخدم غير مميز فتح واحد الآن؟
7Python os.spliceهل مسار الاستغلال بـ Python الخالص متاح؟
8ثنائيات setuidقائمة موسعة من أهداف setuid-root القابلة للقراءة الموجودة على النظام.
9التخفيفاتAppArmor وSELinux وseccomp — ما الموجود؟
10مساحات أسماء المستخدمين (جديد)هل مساحات أسماء المستخدمين غير المميزة مفعّلة؟ (لا تمنع Copy Fail مباشرة، لكنها تؤثر على سطح تصعيد الصلاحيات المحلي الأوسع.)
11الصفحات الضخمة الشفافة (جديد)حالة THP — يمكن أن تؤثر على محاذاة page cache وموثوقية الاستغلال.
12كشف البيئة (جديد)سياق Docker/حاوية/VM — الحاويات تشارك نواة المضيف؛ المضيف هو ما يحتاج إلى التصحيح.
13تحذير مستخدم الجذر (جديد)يحذر إذا كان التشغيل كجذر، لأن عدة فحوصات تعطي نتائج إيجابية خاطئة للجذر بغض النظر عن قيود غير المميزين.

سكربت شل — 10 فحوصات

يغطي سكربت Bash نفس منطق الكشف الأساسي لكنه يحذف ثلاثة عناصر خاصة بـ Python:

#الفحصملاحظات
1إصدار النواة
2وجود التصحيح
3وحدة algif_aead
4مقبس AF_ALGيستخدم Python كمساعد إذا كان متاحًا؛ يتراجع إلى استنتاج إعدادات النواة
5ثنائيات setuidقائمة موسعة، نفس نسخة Python
6التخفيفاتAppArmor وSELinux وseccomp
7CONFIG_CRYPTO_AUTHENC
8مساحات أسماء المستخدمين
9الصفحات الضخمة الشفافة
10كشف البيئة

غير موجود في سكربت شل (مقارنة بـ Python):

الفحص المفقودالسبب
CONFIG_CRYPTO_USER_API_AEADلم يُنفَّذ بعد — مخطط له
توفر Python os.spliceغير قابل للتطبيق على سكربت شل
تحذير مستخدم الجذرلم يُنفَّذ بعد — مخطط له

لن يصلح أي من السكربتين أي شيء أو يستغل أي شيء. يخبرانك بالحقيقة حول نظامك لتتمكن من التصرف بناءً عليها.


المتطلبات

  • Python 3.6+
  • لا تبعيات خارجية — المكتبة القياسية فقط
  • لا حاجة لصلاحيات الجذر (عن قصد — نتحقق مما يمكن لمهاجم غير مميز رؤيته)
  • موصى به: التشغيل كمستخدم غير جذر — بعض الفحوصات (مقبس AF_ALG، stat لـ setuid) تنجح دائمًا للجذر وستعطي نتائج إيجابية خاطئة

الاستخدام

# استنسخ أو حمّل السكربت، ثم:
python3 cve-2026-31431-detect.py

هذا كل شيء. تقرير ملوّن مع ملخص في النهاية.

رموز الخروج

يخرج السكربت برمز غير صفري عند وجود نتائج ضعيفة، مما يجعله مناسبًا للاستخدام في خطوط الأنابيب:

الرمزالمعنى
0لا توجد شروط ضعيفة
1يوجد شرط أو أكثر من الشروط الضعيفة
# مثال: إفشال خطوة CI إذا كان المضيف ضعيفًا
python3 cve-2026-31431-detect.py
rc=$?
if [ $rc -eq 1 ]; then
  echo "VULNERABLE — block deployment"
elif [ $rc -ne 0 ]; then
  echo "ERROR — script failed to complete (exit $rc)"
fi

مثال على الإخراج

CVE-2026-31431 'Copy Fail' — Vulnerability Detection
authencesn page cache corruption / local privilege escalation
Running as uid=1001, euid=1001

=== Kernel Version ===
  [VULNERABLE] Kernel version
          Reason : Kernel is in the vulnerable range (4.10 – 6.14)
          Detail : Release: 6.12.0-124.45.1.el10_1 — patch status must be confirmed

=== CONFIG_CRYPTO_AUTHENC (Kernel Config) ===
  [VULNERABLE] CONFIG_CRYPTO_AUTHENC
          Reason : Built as module (=m): auto-loads on AF_ALG bind(); modprobe blacklist is the correct mitigation

=== CONFIG_CRYPTO_USER_API_AEAD (Kernel Config) ===
  [VULNERABLE] CONFIG_CRYPTO_USER_API_AEAD
          Reason : AF_ALG AEAD interface is a loadable module — unprivileged users can access the crypto subsystem via AF_ALG sockets

...

  SYSTEM IS LIKELY VULNERABLE TO CVE-2026-31431

  Recommended actions:
    1. Apply your distribution's kernel update for CVE-2026-31431
    2. Until patched, blacklist the module:
         echo 'install algif_aead /bin/false' > /etc/modprobe.d/disable-algif-aead.conf
         rmmod algif_aead 2>/dev/null
       NOTE: this is ONLY effective when CONFIG_CRYPTO_AUTHENC=m (module).
       If CONFIG_CRYPTO_AUTHENC=y (built-in), patching is the only fix.

نسخة شل (لخطوط أنابيب DevSecOps)

سكربت Bash مصاحب (cve-2026-31431-detect.sh) متاح للبيئات التي لا يتوفر فيها Python أو حيث يُفضَّل استخدام أدوات شل الأصلية. ينفذ 10 من أصل 13 فحصًا — راجع جدول مقارنة الفحوصات أعلاه لتفاصيل الاختلافات.

# تشغيل أساسي
bash cve-2026-31431-detect.sh

# إخراج JSON — مناسب لاستيعاب SIEM وAnsible facts وتجميع السجلات
bash cve-2026-31431-detect.sh --json > scan-results.json

# وضع هادئ — طباعة الملخص فقط (مفيد في سجلات CI)
bash cve-2026-31431-detect.sh --quiet

# تعطيل ألوان ANSI (للملفات السجلية)
bash cve-2026-31431-detect.sh --no-colour

يستخدم سكربت شل نفس رموز الخروج (0 = سليم، 1 = ضعيف) وينتج إخراج JSON مكافئًا لاستهلاك خطوط الأنابيب. عندما يتوفر Python 3 على النظام، يستخدمه سكربت شل لإجراء اختبار مقبس AF_ALG الحي؛ وإلا يتراجع إلى استنتاج إعدادات النواة.


الإصلاح

الإصلاح الحقيقي هو تصحيح نواتك. تحقق من النشرات الأمنية لتوزيعتك.

التوزيعةأين تنظر
Ubuntuubuntu.com/security/CVE-2026-31431
RHEL / Amazon Linuxdnf update kernel
SUSEzypper update kernel-default
Debianapt update && apt upgrade
تنزيل الأداة