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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-31431 — مجموعة أدوات للبحث والكشف عن ثغرة LPE في نواة لينكس CVE-2026-31431، تشمل تحليل الاستغلال، قواعد YARA، كشف auditd/Falco، دليل التصحيح، وبيئة مختبرية. | Kitploit
أدوات/GitHubGitHub/vasyapokemon/cve-2026-31431
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةكشف التسللالأوراق والأبحاثالتعلم والتعليمالاستجابة للحوادثموارد منسقةمختبرات وتدريب عملي
45منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
vasyapokemon/cve-2026-31431

cve-2026-31431

مجموعة أدوات للبحث والكشف عن ثغرة LPE في نواة لينكس CVE-2026-31431، تشمل تحليل الاستغلال، قواعد YARA، كشف auditd/Falco، دليل التصحيح، وبيئة مختبرية.

عرض المستودع

CVE-2026-31431 — "Copy Fail": تصعيد الامتيازات المحلية في نواة لينكس algif_aead

CISA KEV | CVSS 7.8 عالية | يؤثر على نوى لينكس 4.14 – أوائل 2026 (~9 سنوات)


جدول المحتويات

  1. الملخص التنفيذي
  2. تقييم المخاطر
  3. الغوص التقني العميق
  4. منهجية الهجوم — الفريق الأحمر
  5. الكشف والاستجابة للحوادث — الفريق الأزرق
  6. التصحيح والمعالجة
  7. بيئة المختبر
  8. المراجع

1. الملخص التنفيذي

CVE-2026-31431، الملقب بـ "Copy Fail"، هو ثغرة تصعيد امتيازات محلية (LPE) عالية الخطورة في النظام الفرعي للتشفير في نواة لينكس. يمكن لمستخدم محلي منخفض الامتيازات تصعيد صلاحياته إلى الجذر (root) في ثوانٍ على أي نظام غير مُصَحَّح.

السمةالقيمة
CVECVE-2026-31431
اللقبCopy Fail
CVSS v3.17.8 عالية
ناقل الهجوممحلي
الامتيازات المطلوبةمنخفضة
تفاعل المستخدملا شيء
المكوّنcrypto/algif_aead.c — قالب authencesn
تاريخ الإدخال2017 (الالتزام 72548b093ee3)
تاريخ الكشف2026
سنوات الصمت~9 سنوات
CISA KEVنعم
PoC عامنعم (سكربت Python مستقل بحجم 732 بايت)

الأثر على الأعمال

  • وصول الجذر على أي خادم لينكس أو جهاز افتراضي أو مثيل سحابي أو مضيف حاويات غير مُصَحَّح
  • الهروب من الحاويات من حِزم Kubernetes — ذاكرة التخزين المؤقت للصفحات مشتركة مع نواة المضيف
  • صفر أثر على القرص — الاستغلال لا يترك أي تغييرات في الملفات، ولا صفحات قذرة، ولا أثر تدقيق عبر أدوات سلامة الملفات القياسية (Tripwire, AIDE)
  • يؤثر على Red Hat وUbuntu وDebian وSUSE وAmazon Linux وجميع التوزيعات الرئيسية تقريبًا التي تعمل بنوى من 2017 فصاعدًا

الإجراء الفوري الموصى به

  1. تخفيف مؤقت (نشره الآن، لا حاجة لإعادة التشغيل إذا لم تكن الوحدة محمّلة): ```bash echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf sudo rmmod algif_aead 2>/dev/null || true
  2. الإصلاح الدائم: قم بتحديث حزم النواة عبر مدير الحزم الخاص بتوزيعتك وأعد تشغيل النظام.
  3. التحقق: شغّل detection/check_vulnerable.sh قبل وبعد المعالجة.

2. تقييم المخاطر

سلسلة متجه CVSS 3.1```

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

| المقياس | القيمة | الأساس المنطقي |
|--------|-------|-----------|
| ناقل الهجوم | **محلي** | يتطلب وصولاً إلى الصدفة (SSH، تنفيذ حاوية، وصول مادي) |
| تعقيد الهجوم | **منخفض** | موثوق وآلي بالكامل — لا يتطلب حالة سباق |
| الامتيازات المطلوبة | **منخفضة** | أي حساب مستخدم غير مميز |
| تفاعل المستخدم | **لا شيء** | لا يتطلب تفاعل الضحية |
| السرية | **عالية** | اختراق كامل للنظام |
| السلامة | **عالية** | اختراق كامل للنظام |
| التوفر | **عالية** | اختراق كامل للنظام |

### مشهد التهديدات

| العامل | التقييم |
|--------|-----------|
| توفر PoC | عام، مُسلّح، بايثون مستقل بحجم 732 بايت |
| موثوقية الاستغلال | عالية — يعمل عبر التوزيعات المختبرة دون تعديل |
| صعوبة الاكتشاف | عالية — لا كتابة على القرص، لا صفحات متسخة |
| مهارة المهاجم المطلوبة | منخفضة — مبتدئ مع PoC عام |
| CISA KEV | أُضيف في 2026 — مراقب بنشاط |
| Microsoft Defender | مُعلَّم كقيد تحقيق نشط |

### البيئات المتأثرة

| البيئة | الخطر |
|-------------|------|
| خوادم Linux على المعدن العاري | حرج |
| أجهزة Linux الافتراضية (سحابية أو محلية) | حرج |
| عُقد Kubernetes | حرج (يتيح أيضًا الهروب من الحاويات) |
| مضيفات Docker | حرج |
| الاستضافة المشتركة / متعددة المستأجرين | حرج |
| WSL2 / Linux على Windows | يُقيَّم حسب إصدار النواة |

---

## 3. الغوص التقني العميق

### 3.1 الخلفية: AF_ALG وAEAD

تعرض نواة Linux العمليات التشفيرية لمساحة المستخدم عبر **مقابس AF_ALG** (`AF_ALG = 38`). تتيح هذه الواجهة (`algif_aead`) للتطبيقات غير المميزة استدعاء مسرعات التشفير الخاصة بالأجهزة في النواة دون الحاجة إلى كود في وضع النواة.

**AEAD** (التشفير المصادق عليه مع البيانات المرتبطة) مثل AES-GCM وChaCha20-Poly1305 تُستخدم على نطاق واسع في TLS وتشفير الأقراص وبروتوكولات VPN. القالب المعرض للخطر هو `authencesn` — وهو تركيب AEAD يستخدم `hmac(sha256)` + `cbc(aes)` مع دعم رقم التسلسل الموسع (ESN)، ويُستخدم بشكل شائع في IPsec.

### 3.2 السبب الجذري

في عام 2017، أدخل الالتزام `72548b093ee3` **عملية AEAD في المكان** إلى `algif_aead` كتحسين للأداء — مما سمح لمحرك التشفير بقراءة وكتابة نفس المخزن المؤقت. كان هذا معيبًا:```
The bug chain:

1. Caller binds AF_ALG socket to:
      authencesn(hmac(sha256),cbc(aes))

2. Caller sends a decryption request via sendmsg() with specific flags

3. Caller uses splice() to feed PAGE CACHE PAGES from an open file
   descriptor directly into the socket's scatterlist

4. The authencesn template, during ESN header processing, uses the
   OUTPUT BUFFER as scratch space — writing 4 bytes past the
   expected output boundary

5. Because the scatterlist contains page cache pages (not private
   copies), this scratch write lands DIRECTLY IN THE PAGE CACHE

6. Page cache is shared kernel-wide — all processes reading the
   same file now see the modified bytes

Key insight: splice() is zero-copy — it hands page cache references
to the socket. The in-place "optimization" then writes INTO those
pages. No dirty bit is set because the write goes through the crypto
engine, not the normal write path.

3.3 بدائية الكتابة

توفر الثغرة كتابة محكومة بحجم 4 بايت في ذاكرة التخزين المؤقت للصفحات لأي ملف يمكن للمهاجم فتحه للقراءة:

الخاصيةالقيمة
حجم الكتابة4 بايت
التحكم في الإزاحةنعم — يتحكم المهاجم بها عبر إزاحة splice
الهدفذاكرة التخزين المؤقت للصفحات لأي ملف قابل للقراءة
وضع علامة الصفحة المتسخةلا شيء
التعديل على القرصلا شيء
تحديث الطابع الزمنيلا شيء
إدخال سجل النواةلا شيء (إلا إذا تم تكوين auditd)

الكتابة قابلة للتكرار — يقوم الاستغلال بتكرار الكتابة بحجم 4 بايت لترقيع تسلسلات كود أكبر.

3.4 سلسلة الاستغلال```

[1] Open /usr/bin/su (or any setuid-root binary) for reading ↓ [2] Map a copy to find target instruction bytes (e.g., UID check, execve path, security gate) ↓ [3] Compute exact page cache offset of target bytes ↓ [4] Set up AF_ALG socket → authencesn(hmac(sha256),cbc(aes)) ↓ [5] splice() the target binary's page cache into the socket ↓ [6] Trigger decryption → authencesn scratch write patches the target bytes in page cache (4 bytes per iteration) ↓ [7] Repeat for each 4-byte patch needed ↓ [8] Execute /usr/bin/su → runs root-owned setuid binary but now with attacker-controlled code in page cache ↓ [9] Root shell

### 3.5 لماذا تفشل الدفاعات القياسية

| الدفاع | تم تجاوزه؟ | السبب |
|---------|-----------|--------|
| مراقبة تكامل الملفات (Tripwire/AIDE) | **نعم** | لا يوجد تغيير على القرص |
| فحوصات تجزئة الملفات في IDS | **نعم** | بايتات القرص لم تتغير |
| مراقبة الملفات عبر `inotify` | **نعم** | لا يوجد حدث كتابة في VFS |
| SELinux / AppArmor | **جزئي** | يتحكم في العملية، وليس في الكتابة إلى ذاكرة التخزين المؤقت للصفحات عبر محرك التشفير |
| وحدات التحميل للقراءة فقط | **نعم** | يتم تعديل ذاكرة التخزين المؤقت للصفحات في الذاكرة، وليس عبر وحدة التحميل |
| مراقبة `auditd` على الملف الثنائي | **نعم** | يراقب audit عمليات الكتابة في VFS — وهذا يتجاوز VFS |

### 3.6 إصدارات النواة المتأثرة

| الفرع | معرّض حتى | الإصلاح من |
|--------|-------------------|------------|
| 4.14.x | الكل (أصل الثغرة) | لا يوجد إصلاح من المصدر (EOL) |
| 5.4.x (LTS) | الكل | يتطلب إعادة توجيه من التوزيعة |
| 5.10.x (LTS) | الكل | يتطلب إعادة توجيه من التوزيعة |
| 5.15.x (LTS) | الكل | يتطلب إعادة توجيه من التوزيعة |
| 6.1.x (LTS) | ≤ 6.1.129 | **6.1.130+** |
| 6.6.x (LTS) | ≤ 6.6.86 | **6.6.87+** |
| 6.12.x (LTS) | ≤ 6.12.22 | **6.12.23+** |
| 6.15-rc | تم إصلاحه في rc | **6.15-rc+** |

> قد تكون نوى التوزيعات قد أعادت توجيه الإصلاح بأرقام إصدارات مختلفة. تحقق دائمًا من النشرة الأمنية لتوزيعتك.

---

## 4. منهجية الهجوم — الفريق الأحمر

> **مطلوب إذن.** هذا القسم موجود لمساعدة المدافعين على فهم منظور المهاجم. نفّذ فقط على الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها.
تنزيل الأداة