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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-40271 | Kitploit
أدوات/GitHubGitHub/kaleth4/cve-2025-40271
تحليل الثغرات الأمنيةالاستغلالالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائية
GitHubkaleth4/cve-2025-40271

CVE-2025-40271

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

الأكثر شعبية

عرض الكل →

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

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

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

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

🔴 CVE-2025-40271: ثغرة حرجة من نوع الاستخدام بعد التحرير (Use-After-Free) في نواة لينكس


🛡️ تفاصيل الثغرة

تُعد الثغرة CVE-2025-40271 ثغرة حرجة من نوع الاستخدام بعد التحرير (Use-After-Free/UAF) تؤثر على نظام الملفات /proc في نواة لينكس. يقع الخلل في الدالة proc_readdir_de() المسؤولة عن سرد محتويات الدلائل داخل /proc.

🔍 المشكلة

عند حذف إدخال دليل (PDE) من الشجرة الثنائية (rbtree) عبر rb_erase()، كانت النواة لا تعلّم العقدة بأنها فارغة. يُنشئ هذا سيناريو خطيرًا:

  • إذا كانت إحدى العمليات تقرأ دليلًا (مثل /proc/pid/net/dev_snmp6/) بينما تقوم عملية أخرى بحذف واجهات الشبكة (مثل أجهزة tun)، فقد يبقى المؤشر يشير إلى ذاكرة تم تحريرها بالفعل.
  • عند محاولة الوصول إلى العقدة التالية في الشجرة، تستخدم النواة ذاكرة غير صالحة، مما يؤدي إلى:
    • انهيار النواة (Kernel Panic) (تعطل النظام).
    • احتمال تنفيذ تعليمات برمجية خبيثة (إذا استغل المهاجم حالة السباق).

📊 الحالة والمقاييس


🛠️ الحل (التصحيح)

نفّذ فريق تطوير النواة تصحيحًا حرجًا يستبدل التعامل مع العقدة بـ RB_CLEAR_NODE(). يضمن هذا ما يلي:

  • عند حذف عقدة من الشجرة، يعيد أي محاولة قراءة قيمة NULL بدلًا من مؤشر إلى ذاكرة محرَّرة.
  • يمنع ثغرة UAF عبر إبطال العقدة بشكل صحيح.

📌 إصدارات النواة المُصحَّحة

التصحيح متاح بالفعل في الفروع المستقرة التالية:

  • 6.1.x
  • 6.6.x
  • 6.12.x
  • 6.13.x

🔗 المراجع الرسمية (Git Kernel.org)

لمراجعة الكود الدقيق للتصحيح، راجع هذه الـ commits:

  • Commit 03de7ff
  • Commit 6f24827

📜 الوصف التقني (NIST)

"في نواة لينكس، تم حل الثغرة التالية: fs/proc: fix uaf in proc_readdir_de(). يتم محو PDE من شجرة rbtree الفرعية عبر rb_erase()، لكن دون تعيين العقدة إلى EMPTY، مما قد يؤدي إلى وصول UAF. يجب استخدام RB_CLEAR_NODE() لتعيين العقدة الممحوّة إلى EMPTY، وعندها سيعيد pde_subdir_next() قيمة NULL لتجنّب وصول UAF."

🔄 خطوات إعادة إنتاج المشكلة

  1. العملية 1: استخدم getdent لاجتياز /proc/pid/net/dev_snmp6/ (المؤشر الحالي هو tun3).
  2. العملية 2: في نافذة زمنية حرجة، قم بإلغاء تسجيل أجهزة الشبكة (tun3 وtun2)، وحذفها من الشجرة.
    • أولًا يُحذف tun3، ثم tun2 (المُحرَّر إلى slab).
  3. العملية 1: تواصل الاجتياز باستخدام getdent، لكن pde_subdir_next() يعيد tun2 (المُحرَّر بالفعل)، مما يسبب UAF.

📊 المقاييس وتعداد نقاط الضعف

CWE-IDالاسمالمصدر
CWE-416Use After FreeNVD

🔗 روابط مفيدة

URLالوصف
NVD - CVE-2025-40271التفاصيل الرسمية (حتى الآن بدون تقييم CVSS)
Kernel.org Commitsالكود المصدري للتصحيحات

⚠️ التوصية النهائية: إذا كنت تستخدم إصدارات النواة 6.1.x أو 6.6.x أو 6.12.x أو 6.13.x، فـقم بالتحديث فورًا إلى إصدار مُصحَّح. إذا لم يكن ذلك ممكنًا، ففكّر في تطبيق الـ commits يدويًا أو تقييد الوصول إلى /proc عبر سياسات الأمان (مثل chroot، SELinux).

تنزيل الأداة
الحقلالتفاصيل
المعرّفCVE-2025-40271
المكوِّننواة لينكس (fs/proc)
الخطورةعالية (وإن لم تُقيَّم رسميًا بعد من قِبل NVD/NIST)
المصدراكتُشفت باستخدام stress-ng (حالات getdent وtun متزامنة)
حالة NVDغير مُصنَّفة كأولوية للإثراء (موارد محدودة)