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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-31431 — تحليل - POC - تخفيف | Kitploit
أدوات/GitHubGitHub/sebastian294/cve-2026-31431
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubsebastian294/cve-2026-31431

cve-2026-31431

تحليل - POC - تخفيف

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-31431 — نسخ الفشل: مختبر أبحاث رفع الامتيازات المحلية في نواة لينكس

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


الفهرس

  • وصف الثغرة
  • المكونات المتأثرة
  • كيف يعمل
  • إعداد المختبر (Docker)
  • إثبات المفهوم — عرض توضيحي
  • التخفيف
  • المراجع

وصف الثغرة

الحقلالقيمة
CVECVE-2026-31431
الاسم المستعارCopy Fail
CVSS7.8 (عالية)
النوعرفع الامتيازات المحلية (LPE)
النواة المتأثرة2017 – 2026 (commit 72548b093ee3 فصاعدًا)
الإصلاح الرئيسيcommit a664bf3d603d (تراجع عن 2017)
الإفصاح29 أبريل 2026 (Theori / Xint Code)

Copy Fail هو خطأ منطقي حتمي (لا يتطلب ظروف تسابق) في النظام الفرعي للتشفير لنواة لينكس. يسمح لمستخدم غير مميز بكتابة 4 بايتات مسيطر عليها في ذاكرة التخزين المؤقت للصفحات لأي ملف قابل للقراءة في النظام، بما في ذلك الثنائيات setuid مثل su أو sudo.

لماذا هو خطير بشكل خاص؟

على عكس الثغرات السابقة المماثلة:


المكونات المتأثرة

root@kitploit:~
Linux kernel — crypto/authencesn.c
  └── algif_aead (مُدمة AF_ALG)
        └── تحسين في المكان (commit 72548b093ee3, 2017)
              └── كتابة مؤقتة لـ AEAD → تتجاوز حدود scatterlist
                    └── تكتب 4 بايتات في ذاكرة التخزين المؤقت لملف خارجي

التوزيعات المتأثرة: Ubuntu، Debian، RHEL، Amazon Linux، SUSE، Fedora، Arch، AlmaLinux — أي توزيعة بنواة ≥ 2017.


كيف يعمل

السبب الجذري

في 2017 تم إدخال تحسين يجعل req->src و req->dst يشيران إلى نفس قائمة التشتت المدمجة. يتسبب ذلك في ربط صفحات ذاكرة التخزين المؤقت (القادمة من splice()) مباشرة في قائمة التشتت الوجهة القابلة للكتابة.

سلسلة الاستغلال

root@kitploit:~
1. فتح مقبس AF_ALG بخوارزمية authencesn
2. استخدام splice() لتغذية صفحات ذاكرة التخزين المؤقت للثنائي الهدف إلى مقبس AF_ALG (مثال: /usr/bin/sudo)
3. تنفيذ عملية فك تشفير AEAD
4. authencesn تستخدم المخزن الوجهة كمساحة عمل → تكتب seqno_hi (4 بايتات مسيطر عليها) خارج المخرجات المشروعة، متجاوزة حدود قائمة التشتت
5. تهبط الـ 4 بايتات في صفحة ذاكرة التخزين المؤقت للثنائي الهدف
6. الملف على القرص لا يتغير → فحوصات التكامل لا تكتشف شيئًا
7. الثنائي المعدل في الذاكرة ينفذ الحمولة → صلاحية الجذر

لماذا هو متخفٍّ

الكتابة تتجاوز مسار الكتابة VFS العادي. يبقى الملف على القرص سليمًا. أدوات مثل sha256sum، aide، tripwire، أو inotify لا تكتشف التغيير لأنها تعمل على الملف على القرص أو onode inode، وليس على ذاكرة التخزين المؤقت للصفحات في الذاكرة.


إعداد المختبر (Docker)

يستخدم المختبر نواة ضعيفة لإظهار تلف ذاكرة التخزين المؤقت للصفحات. في بيئات Docker، يعتمد رفع الامتيازات الكامل على تكوين المضيف (النواة المشتركة).

root@kitploit:~
# Clonar el repo

cd cve-2026-31431

# Construir la imagen vulnerable
docker build -t copyfail-lab -f docker/Dockerfile.vulnerable .

# Ejecutar el lab
docker run --rm -it \
  --cap-add=NET_ADMIN \
  --security-opt seccomp=unconfined \
  copyfail-lab bash

# Dentro del contenedor:
cd /lab
python3 exploit/poc.py

المتطلبات

  • Docker ≥ 20.x
  • نواة المضيف: Ubuntu/Debian بنواة 5.x أو 6.x غير مُصَحَّحة (انظر الجدول في docs/)
  • بايثون 3.10+ في الحاوية (لـ os.splice)

إثبات المفهوم — عرض توضيحي

انظر exploit/poc.py و exploit/README.md.

يثبت PoC:

  1. تلف ذاكرة التخزين المؤقت للصفحات (قابل للتحقق)
  2. كتابة 4 بايتات مسيطر عليها في الملف الهدف
  3. رفع الامتيازات المحلية الكامل: يعتمد على نواة المضيف (انظر الملاحظات)

التخفيف

انظر mitigation/README.md للحصول على تعليمات مفصلة.

الخلاصة — تخفيف فوري (بدون إعادة تشغيل):

root@kitploit:~
# Deshabilitar el módulo afectado
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo modprobe -r algif_aead 2>/dev/null || true

الإصلاح النهائي: تحديث النواة إلى إصدار مُصَحَّح (بعد a664bf3d603d).


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

root@kitploit:~
cve-2026-31431/
├── README.md                    ← este archivo
├── docs/
│   ├── technical-analysis.md    ← análisis técnico profundo
│   └── affected-kernels.md      ← tabla de versiones afectadas/parcheadas
├── exploit/
│   ├── README.md                ← documentación del PoC
│   └── poc.py                   ← proof of concept (Python 3.10+)
├── mitigation/
│   ├── README.md                ← guía de mitigación
│   ├── disable-algif.conf       ← modprobe config
│   └── check-vulnerable.sh      ← script de detección
├── docker/
│   ├── Dockerfile.vulnerable    ← lab vulnerable
│   └── Dockerfile.patched       ← lab con mitigación aplicada
└── scripts/
    └── setup-lab.sh             ← automatización del lab

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


المراجع

  • Xint Code — كتابة Copy Fail الرسمية
  • copy.fail — موقع الاستشارة
  • GitHub الرسمي — theori-io/copy-fail-CVE-2026-31431
  • NVD — CVE-2026-31431
  • استشارة أمان Ubuntu
  • مدونة أمان Microsoft
  • Unit 42 — تحليل Palo Alto
  • إصلاح المنبع commit a664bf3d603d

تنزيل الأداة
الثغرةالنوعهل تتطلب سباق؟محمولة؟حجم الاستغلال
Dirty Cow (CVE-2016-5195)سباق CoWنعمجزئية~KB
Dirty Pipe (CVE-2022-0847)مخزن الأنبوبلامحدود~KB
Copy Fail (CVE-2026-31431)منطقيلاكلي732 بايت
التاريخالحدث
2017Commit 72548b093ee3 يُدخل الخلل في النواة
~2025بدأ Theori/Xint Code تحليل النظام الفرعي للتشفير
28 أبريل 2026التنسيق مع الموزعين
29 أبريل 2026إفصاح عام + نشر PoC
1 مايو 2026نوى مُصَحَّحة متاحة في مستودعات الإنتاج
1 مايو 2026تمت إضافته إلى كتالوج CISA KEV