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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-31431 — استغلال وكاشف لتصعيد الامتيازات المحلية في نواة لينكس (CVE-2026-31431) يعمل على إفساد ذاكرة التخزين المؤقت للصفحات للحصول على صلاحيات الجذر، مع إرشادات للتخفيف. | Kitploit
أدوات/GitHubGitHub/kaleth4/cve-2026-31431
تصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالاختبار الاختراق
GitHubkaleth4/cve-2026-31431

CVE-2026-31431

استغلال وكاشف لتصعيد الامتيازات المحلية في نواة لينكس (CVE-2026-31431) يعمل على إفساد ذاكرة التخزين المؤقت للصفحات للحصول على صلاحيات الجذر، مع إرشادات للتخفيف.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

🚨 CVE-2026-31431: Copy Fail

ثغرة حرجة عمرها 9 سنوات في نواة لينكس تتيح الحصول على صلاحيات الجذر في ثوانٍ


📋 الملخص التنفيذي

السمةالتفاصيل
CVECVE-2026-31431
اللقبCopy Fail
النوعتصعيد الصلاحيات المحلي (LPE)
CVSS7.8 (عالية)
اكتشفهاTheori (Xint Code)
الإفصاح29 أبريل 2026
المكوّننظام algif_aead الفرعي في نواة لينكس

⚡ لماذا هي خطيرة جدًا؟

🎯 السرعة

  • استغلال فوري: أقل من ثانية واحدة للحصول على صلاحيات الجذر
  • سكربت بايثون بحجم 732 بايت فقط

👻 التخفي المطلق

  • يعدّل ذاكرة الوصول العشوائي فقط (page cache)، وليس القرص
  • أدوات تكامل الملفات لا تكتشفه
  • عند إعادة التشغيل، يختفي الأثر (تحليل الطب الشرعي معطّل)

🌍 النطاق الهائل

  • يؤثر على جميع التوزيعات الحديثة تقريبًا
  • الأنوية من v4.14 (2017) حتى v7.0-rc
  • ثغرة مستغلة منذ 9 سنوات دون اكتشاف

☁️ الخطر في السحابة/Kubernetes

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

🔍 التفاصيل التقنية

السبب الجذري

خلل في تحسين "العملية في المكان" (in-place) الذي أُدخل في 2017 (commit 72548b093ee3). يسمح لمستخدم محلي بتنفيذ كتابة محكومة من 4 بايت مباشرة في ذاكرة التخزين المؤقت للصفحات في النواة.

آلية الاستغلال

  1. يستخدم المهاجم واجهة AF_ALG للوصول إلى خوارزميات التشفير في النواة
  2. يفسد النسخة الموجودة في الذاكرة من الملفات الثنائية setuid (/usr/bin/su) أو الملفات الحساسة (/etc/passwd)
  3. عند تنفيذ الملف الثنائي المفسد، يحصل على قشرة بصلاحيات الجذر

لماذا مرّ دون أن يُلاحظ

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


📊 الأنظمة المتأثرة

✅ المؤكدة

  • Ubuntu: 20.04، 22.04، 24.04 LTS
  • RHEL/AlmaLinux/Rocky Linux: جميع الإصدارات الحديثة
  • Debian: جميع الإصدارات ذات النواة v4.14+
  • Amazon Linux 2023
  • SUSE: الإصدارات الحديثة

🛡️ خطة المعالجة

1️⃣ الحل النهائي: تحديث النواة

root@kitploit:~
# Ubuntu/Debian
sudo apt update
sudo apt upgrade
sudo reboot

# RHEL/AlmaLinux/Rocky
sudo dnf update kernel
sudo reboot

# التحقق من إصدار النواة
uname -r

⚠️ إعادة التشغيل إلزامية لتفعيل النواة الجديدة.


2️⃣ التخفيف الطارئ (بدون إعادة تشغيل فورية)

لنظام Ubuntu/Debian:

root@kitploit:~
# تعطيل تحميل الوحدة المعرضة للخطر
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/copyfail_mitigation.conf

# إزالة الوحدة إذا كانت قيد الاستخدام بالفعل
sudo rmmod algif_aead

لنظام RHEL/AlmaLinux:

root@kitploit:~
# عادةً ما تكون الوحدة مدمجة في النواة
# إضافة معامل الإقلاع لتعطيلها
sudo grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"

# إعادة التشغيل لتطبيق التغييرات
sudo reboot

3️⃣ تنظيف ذاكرات التخزين المؤقت (إذا كنت تشك في استغلال سابق)

root@kitploit:~
# مسح ذاكرة التخزين المؤقت للصفحات أثناء التشغيل
sudo sysctl -w vm.drop_caches=3

⚠️ ملاحظة: هذا لا يغني عن التصحيح. إنه مجرد إجراء تكميلي.


📅 الجدول الزمني للأحداث

التاريخالحدث
29 أبريلالإفصاح العام من قبل Theori
1 مايورصد أولى محاولات الاستغلال النشط

📦 حالة التصحيحات


🔐 التحقق من نظامك

هل نواتك معرضة للخطر؟

root@kitploit:~
# الحصول على إصدار النواة
uname -r

# معرضة للخطر إذا كانت:
# - v4.14 إلى v7.0-rc (صدرت بين 2017 وأبريل 2026)
# - تحتوي على commit 72548b093ee3

# التحقق مما إذا كانت الوحدة algif_aead محمّلة
lsmod | grep algif_aead

# إذا ظهرت في القائمة، فإن نظامك معرض للخطر

🧬 تحليل الأمان: عامل الذكاء الاصطناعي

الأكثر إثارة للاضطراب: اكتشافها بالذكاء الاصطناعي في ساعة واحدة

حدد الذكاء الاصطناعي هذا الخلل الذي مرّ دون أن يلاحظه المطورون لمدة 9 سنوات. هذا يمثل نقطة تحول:

  • 🤖 يمكن للآلات تدقيق كود النواة أسرع من البشر
  • 🔍 العثور على الأخطاء المنطقية المعقدة تلقائيًا
  • ⚠️ آثار على مستقبل أبحاث الثغرات يوم الصفر

Quick start

root@kitploit:~
# 1. Detect
python3 prueba.py
#   exit 0 = not vulnerable, 2 = vulnerable, 1 = test error

# 2. Exploit (interactive — su will prompt for your own password)
python3 exploit.py --shell

Detector usage

root@kitploit:~
python3 prueba.py

ما يفعله:

  1. يؤكد أن AF_ALG وخوارزمية authencesn(hmac(sha256),cbc(aes)) قابلة للوصول من عملية بدون صلاحيات.

  2. ينشئ ملفًا حارسًا بحجم 4 KiB في دليل مؤقت ويملأ ذاكرة التخزين المؤقت للصفحات.

  3. يرسل 8 بايت من AAD عبر sendmsg+cmsg مع ضبط seqno_lo على العلامة PWND، ثم ينسخ 32 بايت من صفحة ذاكرة التخزين المؤقت للحارس إلى مقبس عملية AF_ALG عبر os.splice().

  4. يستدعي recv() لبدء فك التشفير. يفشل فحص المصادقة مع EBADMSG؛ ومع ذلك يتم تنفيذ الكتابة المؤقتة.

  5. يعيد قراءة الملف (ذاكرة التخزين المؤقت للصفحات، وليس القرص) ويبحث عن العلامة.

فئات المخرجات:

  • Condición previa no cumplida: AF_ALG أو authencesn غير متوفرة. الخروج 0.
  • VULNERABLE a CVE-2026-31431: تم إدراج العلامة PWND في الصفحة المعدلة.

الخروج 2.

  • Caché de página MODIFICADA mediante una ruta de inserción AEAD in situ: تمت الكتابة إلى الصفحة، لكن العلامة لم تُدرج في الموضع المتوقع. يُعتبر معرضًا للخطر. الخروج 2.
  • Caché de página intacta: تم التصحيح. الخروج 0.

لا يعدّل الكاشف أبدًا /usr/bin/su أو /etc/passwd أو أي ملف آخر خارج الدليل المؤقت الذي ينشئه، ويتم حذف هذا الملف عند الانتهاء.

المخرجات. ## استخدام LPE

root@kitploit:~
python3 exploit_cve_2026_31431.py # Solo parchea, imprime los siguientes pasos
python3 exploit_cve_2026_31431.py --shell # Parchea y ejecuta `su <usuario>`

الوظيفة:

  1. يبحث عن سطر UID للمستخدم قيد التشغيل في /etc/passwd ويجد إزاحة البايت لحقل UID المكون من 4 أحرف.

  2. ينفذ write4 على تلك الإزاحة، مستبدلاً UID بـ 0000.

  3. يستدعي pwd.getpwnam(usuario) لتأكيد أن libc يبلغ الآن عن UID 0.

  4. مع --shell، ينفذ execvp("su", ["su", usuario]). أدخل كلمة المرور الخاصة بك. يتحقق PAM من /etc/shadow (بدون تعديل)، ثم يتم تعيين setuid(getpwnam(user).pw_uid) إلى 0.

المتطلبات

  • المستخدم قيد التشغيل لديه UID من 4 أرقام (1000–9999). UIDs من 1 إلى 3 أرقام تتطلب كتابات متعددة؛ قم بتوسيع write4 وفقًا لذلك.

  • لا يوجد أي خادم ذاكرة تخزين مؤقت NSS (nscd, sssd, systemd-userdbd) يحجب قراءات /etc/passwd. إذا كان getpwnam لا يزال يعيد UID الحقيقي بعد تطبيق التصحيح، أعد التشغيل أو تجاهل ذاكرة التخزين المؤقت، أو اختر مستخدمًا مختلفًا.

  • يجب أن تبقى صفحة /etc/passwd في ذاكرة التخزين المؤقت بين تطبيق التصحيح و تنفيذ su. عمليًا، هذا موثوق على أي نظام مع ضغط ذاكرة عادي.

التراجع

يبقى ملف /etc/passwd على القرص دون تغيير.

التنفيذ الجاف (exploit_cve_2026_31431.py بدون --shell) يزيل تلقائيًا الصفحة المفسدة عند الخروج عبر POSIX_FADV_DONTNEED، لذلك تعود عمليات البحث UID → الاسم إلى الوضع الطبيعي فورًا.

بعد استخدام --shell**، تبقى الصفحة مفسدة حتى يتم مسحها. طالما كانت مفسدة، أي عملية تحل UID 1000 → الاسم (مثل ls، مديري الملفات، فحوصات ملكية scp/sftp) ستفشل أو تعرض معرفات رقمية. لمسحها:

root@kitploit:~
# بدون صلاحيات: اطلب إزالة ذاكرة التخزين المؤقت للصفحات من /etc/passwd:
python3 -c "import os; fd=os.open('/etc/passwd', os.O_RDONLY); \
os.posix_fadvise(fd, 0, 0, os.POSIX_FADV_DONTNEED); os.close(fd)"

# من وحدة تحكم الجذر:
echo 3 > /proc/sys/vm/drop_caches

إعادة التشغيل تمسحها أيضًا.

كيف يعمل write4

root@kitploit:~
sendmsg([AAD من 8 بايت], cmsg=[ALG_SET_OP=DECRYPT, ALG_SET_IV, ALG_SET_AEAD_ASSOCLEN=8],
flags=MSG_MORE)
splice(target_fd, pipe_w, 32, offset_src=file_offset)
splice(pipe_r, op_fd, 32)
recv(op_fd) # EBADMSG; الكتابة المؤقتة تمت بالفعل

الـ 4 بايت من المواضع 4 إلى 7 من AAD (seqno_lo) تُكتب بواسطة authencesn إلى قائمة التشتت الوجهة، والتي في هذا المسار البرمجي هي صفحة ذاكرة التخزين المؤقت التي استخرجناها من target_fd. إزاحة الهبوط داخل الصفحة تتوافق مع offset_src الذي مررناه إلى splice().

التخفيف

حتى تصل النواة المصححة إلى توزيعتك:

root@kitploit:~
sudo tee /etc/modprobe.d/disable-algif-aead.conf <<<'install algif_aead /bin/false'
sudo rmmod algif_aead 2>/dev/null

بعد تطبيق التصحيح، يجب أن يعرض test_cve_2026_31431.py رسالة «Precondición no cumplida» ويخرج برمز 0.

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

📚 المراجع الرسمية

  • CVE-2026-31431 - NVD
  • Copy Fail Patches - AlmaLinux
  • Sysdig Security Research
  • CISA Alert

⚠️ التوصيات النهائية

  1. أولوية حرجة: حدّث نواتك قبل 15 مايو 2026 (تفويض CISA)
  2. إذا لم تستطع إعادة التشغيل: طبّق التخفيف المؤقت بتعطيل algif_aead
  3. في السحابة/Kubernetes: تحقق من تصحيح عقدك فورًا
  4. المراقبة: ابحث عن محاولات تحميل الوحدة algif_aead في سجلات التدقيق

آخر تحديث: 3 مايو 2026
الحالة: 🔴 حرج - إجراء فوري مطلوب

تنزيل الأداة
2 مايوCISA تأمر الوكالات الفيدرالية الأمريكية بالتصحيح قبل 15 مايو
3 مايوتوفر التصحيحات في Ubuntu وRHEL وAlmaLinux وDebian
التوزيعةالحالةالمرجع
Ubuntu✅ تم التصحيحUSN-8226-1 (20.04، 22.04، 24.04)
RHEL/AlmaLinux/Rocky✅ متوفرمنذ 1 مايو
Debian✅ في مستودعات الأمانالتحديث متوفر
Android⏳ قريبًانشرة الأمان ليونيو 2026