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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/erdemozgen/copy-fail-cve-2026-31431
أطر الاستغلالتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليماستغلال الملفات الثنائية
GitHuberdemozgen/copy-fail-cve-2026-31431

copy-fail-cve-2026-31431

منفذ بلغة Go لـ Copy Fail PoC الخاص بـ CVE-2026-31431، وهو ثغرة في نواة لينكس تتيح كتابة 4 بايتات في ذاكرة التخزين المؤقت للصفحات عبر AF_ALG و splice. يتضمن خط أنابيب بناء متعدد البنى ووثائق تقنية مفصلة.

عرض المستودع
الموقع الإلكتروني
8منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Copy Fail - CVE-2026-31431

يوفر هذا المستودع نسخة Go من PoC العامة لـ Copy Fail وخط أنابيب بناء قابل للتكرار لثنائيات Linux متعددة البنى.

Copy Fail (CVE-2026-31431) هو خلل منطقي في نواة Linux في authencesn يتيح كتابة حتمية من 4 بايت في بيانات ذاكرة التخزين المؤقت للصفحات المشار إليها عبر AF_ALG + splice().

الاستخدام المسؤول

استخدم هذا المشروع فقط في البيئات التي لديك فيها إذن صريح للاختبار. لا تشغّل هذا الـ PoC ضد أنظمة لا تملكها أو ليس لديك إذن كتابي لتقييمها.

اختبار سريع (بدون بناء)

إذا كنت تريد الاختبار فورًا دون البناء من المصدر، قم بتنزيل ثنائي من الإصدارات وتشغيله:

root@kitploit:~
wget https://github.com/ErdemOzgen/copy-fail-cve-2026-31431/releases/download/v1.0.1/copy-fail-cve-2026-31431_linux_amd64
chmod +x copy-fail-cve-2026-31431_linux_amd64
./copy-fail-cve-2026-31431_linux_amd64

للبنى الأخرى، قم بتنزيل الملف المطابق من صفحة إصدارات GitHub:

https://github.com/ErdemOzgen/copy-fail-cve-2026-31431/releases

المحتويات

  • اختبار سريع (بدون بناء)
  • متطلبات البناء
  • البناء المحلي
  • الاستخدام
  • استكشاف الأخطاء وإصلاحها
  • نظرة عامة
  • لماذا هو مهم
  • السبب الجذري
  • مسار التشغيل في authencesn
  • كيف أصبح الخلل قابلًا للوصول
  • تدفق الاستغلال عالي المستوى
  • ملخص الإصلاح
  • المعالجة
  • الجدول الزمني للإفصاح
  • كيف تم اكتشافه
  • هيكل المستودع
  • GitHub Actions
  • التوزيعات المختبرة
  • المراجع

متطلبات البناء

  • Go 1.23+
  • GNU Make

البناء المحلي

بناء جميع أهداف Linux:

root@kitploit:~
make clean build-linux

البناء وإنشاء المجاميع الاختبارية:

root@kitploit:~
make clean checksums

ملفات الإخراج في dist/:

  • copy-fail-cve-2026-31431_linux_amd64
  • copy-fail-cve-2026-31431_linux_arm64
  • copy-fail-cve-2026-31431_linux_386
  • copy-fail-cve-2026-31431_linux_armv7
  • SHA256SUMS

الاستخدام

التشغيل الافتراضي:

root@kitploit:~
./copy-fail-cve-2026-31431_linux_amd64

استخدام مسار هدف مخصص:

root@kitploit:~
./copy-fail-cve-2026-31431_linux_amd64 -target /path/to/binary

تعطيل تنفيذ su بعد التشغيل:

root@kitploit:~
./copy-fail-cve-2026-31431_linux_amd64 -spawn-su=false

طباعة بيانات تعريف البناء:

root@kitploit:~
./copy-fail-cve-2026-31431_linux_amd64 -version

استكشاف الأخطاء وإصلاحها

إذا فشل التنفيذ عند الإزاحة 0 مع خطأ مشابه لما يلي:

root@kitploit:~
error: copy chunk at offset 0: splice(pipe->AF_ALG): software caused connection abort

فمن المرجح أن النواة رفضت مسار AEAD الموضعي الضعيف (على سبيل المثال لأن المضيف مصحح لـ CVE-2026-31431 أو أن algif_aead مخفف/معطل).

فحوصات سريعة:

root@kitploit:~
uname -r
grep -E "algif_aead|authencesn" /proc/modules

على الأنظمة المعالجة، من المتوقع أن يفشل هذا الـ PoC.

نظرة عامة

وفقًا للإفصاح العام، يسمح المسار الضعيف لمستخدم محلي غير مميز بالتأثير على بدائية كتابة من 4 بايت في محتوى ذاكرة التخزين المؤقت للصفحات للملفات القابلة للقراءة في ظل ظروف محددة.

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

لماذا هو مهم

Copy Fail جدير بالملاحظة لأنه تم الإبلاغ عنه على أنه:

  • حتمي (بدون متطلب سباق في مسار التشغيل الموصوف).
  • قابل للنقل عبر توزيعات Linux الرئيسية في الاختبار.
  • مضغوط في التنفيذ، دون اعتماد على باني حمولة خارجي.
  • ذو صلة بما يتجاوز نطاق العملية الواحدة بسبب سلوك ذاكرة التخزين المؤقت للصفحات المشتركة.

السبب الجذري

على مستوى عالٍ، تكمن المشكلة عند تقاطع ثلاث آليات:

  1. معالجة طلبات AF_ALG AEAD.
  2. حركة البيانات المدعومة بذاكرة التخزين المؤقت للصفحات عبر splice().
  3. سلوك المساحة المؤقتة لفك التشفير في authencesn.

في التصميم الضعيف، يمكن ربط المقاطع المدعومة بذاكرة التخزين المؤقت للصفحات في شكل طلب يتلقى لاحقًا عمليات كتابة أثناء معالجة الخوارزمية، مما ينتهك افتراضًا رئيسيًا بأن مناطق الوجهة المقصودة فقط هي التي يتم تعديلها.

مسار التشغيل في authencesn

في المسار الموثق، يستخدم authencesn عمليات مساحة مؤقتة على جانب الوجهة حول معالجة تخطيط ESN ويقوم بكتابة عند إزاحة تتجاوز عقد إخراج فك التشفير المتوقع.

عند دمجه مع إعداد AEAD الموضعي ومراجع scatterlist المتسلسلة، يمكن أن تصل هذه الكتابة إلى ذاكرة مدعومة بذاكرة التخزين المؤقت للصفحات لمناطق يختارها المهاجم.

كيف أصبح الخلل قابلًا للوصول

يصف الإفصاح تطورًا متعدد الالتزامات:

  • نشأ سلوك authencesn في تاريخ تكامل سابق.
  • قدم دعم AF_ALG AEAD قابلية الوصول من مساحة المستخدم مع تفاعل splice().
  • لاحقًا، جمع تحسين الموضعية في algif_aead تدفق المصدر والوجهة بطريقة جعلت هذا التقاطع قابلاً للاستغلال.

الدرس الرئيسي هو المخاطر التركيبية: التغييرات المعقولة بشكل فردي يمكن أن تصبح غير آمنة عند دمجها.

تدفق الاستغلال عالي المستوى

يصف المقال العام والـ PoC هذا التسلسل:

  1. فتح وتكوين مقبس AF_ALG AEAD لـ authencesn(hmac(sha256),cbc(aes)).
  2. توفير بيانات وصفية مصممة وبيانات مجزأة.
  3. استخدام splice() لتوجيه بيانات الملف المدعومة بذاكرة التخزين المؤقت للصفحات عبر مسار الطلب.
  4. تشغيل معالجة فك التشفير والتكرار في خطوات محكومة من 4 بايت.

تنفيذ Go في هذا المستودع يعكس منطق الـ PoC العام لأغراض البحث والتحقق في البيئات المصرح بها.

ملخص الإصلاح

الإصلاح المبلغ عنه يعيد عملية AEAD الموضعية الضعيفة في algif_aead إلى سلوك خارج الموضعية.

مفاهيميًا:

  • قبل الإصلاح: يمكن أن ينهار المصدر والوجهة في سلسلة واحدة قابلة للكتابة لهذا المسار.
  • بعد الإصلاح: يظل المصدر والوجهة منفصلين، مما يمنع استخدام مقاطع المصدر المدعومة بذاكرة التخزين المؤقت للصفحات كمناطق وجهة قابلة للكتابة في هذا التدفق.

المعالجة

  • قم بتصحيح النوى إلى الإصدارات التي تحتوي على الإصلاح من المنبع.
  • قم بنشر تحديثات حزم نواة المورد عبر الأسطول والصور.
  • فكر في ضوابط تقوية مؤقتة (على سبيل المثال، قيود السياسة على استخدام AF_ALG حيثما كان ذلك ممكنًا تشغيليًا).
  • تحقق من المعالجة بفحوصات وقت التشغيل، وليس فقط سير عمل مجاميع القرص.

الجدول الزمني للإفصاح

بناءً على المقال العام:

التاريخالحدث
2026-03-23تقديم التقرير إلى فريق أمان نواة Linux
2026-03-24إقرار أولي
2026-03-25مناقشة/مراجعة التصحيح
2026-04-01الالتزام بالإصلاح في الخط الرئيسي
2026-04-22تعيين CVE-2026-31431
2026-04-29الإفصاح العام

كيف تم اكتشافه

يعزو البحث المنشور الفضل إلى تحليل الأنظمة الفرعية الموجه بشريًا والمدعوم بالذكاء الاصطناعي مع التركيز على مسارات الشيفرة المشفرة القابلة للوصول من مساحة المستخدم وبيان أصل الصفحة/scatterlist تحت splice().

هيكل المستودع

  • main.go: نسخة Go من الـ PoC.
  • Makefile: أهداف بناء Linux متعددة البنى حتمية.
  • .github/workflows/build.yml: سير عمل CI للبناء وإصدار الأصول.

GitHub Actions

ملف سير العمل: .github/workflows/build.yml

المشغلات:

  • طلبات السحب
  • الدفع إلى main
  • دفع العلامات المطابقة لـ v*
  • workflow_dispatch اليدوي

السلوك:

  1. بناء جميع ثنائيات Linux مع المجاميع الاختبارية عبر make clean checksums.
  2. رفع أصول CI المسماة بالمرجع + SHA الالتزام.
  3. نشر أصول الإصدار تلقائيًا للعلامات المطابقة لـ v*.

تدفق الإصدار المقترح:

root@kitploit:~
git tag v1.0.0
git push origin v1.0.0

التوزيعات المختبرة

التوزيعإصدار النواة
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.16.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default

المراجع

  • المقال العام الأصلي: https://xint.io/blog/copy-fail-linux-distributions
  • إدخال CVE: CVE-2026-31431
تنزيل الأداة