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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-68121 — مستودع بحثي لـ CVE-2026-68121، وهو ثغرة use-after-free في نواة Linux ضمن PPPoE في الدالة pppoe_sendmsg() تتيح تصعيد الصلاحيات محليًا، مع PoC وتحليل السبب الجذري وإعداد مختبر. | Kitploit
أدوات/GitHubGitHub/0xblackash/cve-2026-68121
تصعيد الامتيازاتتحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHub0xblackash/cve-2026-68121

CVE-2026-68121

مستودع بحثي لـ CVE-2026-68121، وهو ثغرة use-after-free في نواة Linux ضمن PPPoE في الدالة pppoe_sendmsg() تتيح تصعيد الصلاحيات محليًا، مع PoC وتحليل السبب الجذري وإعداد مختبر.

166منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

⚡ CVE-2026-68121 - PPPoEject

Gemini_Generated_Image_f5uscnf5uscnf5us (1)

استخدام-بعد-التحرير في PPPoE بنواة Linux ← تصعيد الصلاحيات المحلية

ثغرة إفساد الذاكرة في نواة Linux ضمن مسار إرسال PPPoE، ناتجة عن مؤشر قديم إلى ترويسة sk_buff بعد أن يعيد استدعاء ترويسة الجهاز تخصيص رأس skb.


⚠️ إخلاء المسؤولية

هذا المستودع مخصص للبحث الأمني المصرح به، وتحليل ثغرات النواة، وبيئات CTF، والاختبار الدفاعي فقط.

لا تنفذ كود إثبات المفهوم ضد أنظمة دون تصريح صريح.


📌 نظرة عامة على الثغرة

الحقلالتفاصيل
CVECVE-2026-68121
الاسم الرمزيPPPoEject
المكوّنLinux Kernel
النظام الفرعيPPPoE / Networking
الملف المتأثرdrivers/net/ppp/pppoe.c
الدالة الأساسيةpppoe_sendmsg()
فئة الخطأUse-After-Free
التأثيرإفساد ذاكرة النواة
التأثير المحتملتصعيد الصلاحيات المحلية
CVSS v3.17.8 — High
متجه الهجوممحلي
تعقيد الهجوممنخفض
الصلاحيات المطلوبةمنخفضة
تفاعل المستخدملا شيء
الحالةتم الترقيع

يحدد سجل CVE الثغرة على أنها مؤشر ترويسة PPPoE قديم قد يصبح غير صالح عندما يعيد dev_hard_header() تخصيص رأس skb.


🧬 وصف الثغرة

توجد الثغرة في:

drivers/net/ppp/pppoe.c

داخل:

pppoe_sendmsg()

التسلسل القابل للاستغلال من الناحية المفاهيمية هو:

pppoe_sendmsg()
      │
      ▼
Save PPPoE header pointer
      │
      ▼
dev_hard_header()
      │
      ▼
skb head may be reallocated
      │
      ▼
Old pointer becomes stale
      │
      ▼
PPPoE writes through stale pointer
      │
      ▼
Use-After-Free
      │
      ▼
Kernel memory corruption

يسمح كود الشبكات في Linux لعمليات استدعاء رأس الجهاز (device header callbacks) بإعادة تخصيص رأس sk_buff. لذلك لا يمكن إعادة استخدام مؤشر إلى الرأس القديم بأمان بعد عودة dev_hard_header().


🔬 السبب الجذري

المشكلة الأساسية هي انتهاك عمر الكائن (lifetime violation).

يحصل pppoe_sendmsg() على مؤشر إلى رأس PPPoE قبل استدعاء:

dev_hard_header()

ومع ذلك، فإن دالة الاستدعاء تلك يمكن أن تتسبب في تحرك رأس skb.

من الناحية المفاهيمية:

Before callback:

skb
┌──────────────────────────────┐
│ Ethernet │ PPPoE │ Payload   │
└──────────┴───────┴───────────┘
           ▲
           │
       stale pointer


After skb expansion:

old skb head ──X──► freed

new skb head
┌────────────────────────────────────┐
│ Ethernet │ PPPoE │ Payload         │
└──────────┴───────┴─────────────────┘
           ▲
           │
      valid location

المؤشر القديم لا يزال يشير إلى التخصيص المحرَّر.

عندما يكتب PPPoE لاحقًا الترويسة عبر ذلك المؤشر، يُجري النواة عملية كتابة بعد الاستخدام (use-after-free write).


🧠 شرط التفعيل

يتضمن التفعيل الموثَّق حالة تسابق (race) حول copy_from_user() وتغييرات في عمليات ترويسة جهاز team.

أحد التسلسلات الموصوفة هو:

PPPoE sendmsg()
      │
      ▼
copy_from_user() blocks
      │
      │
      ├───────────────┐
      │               │
      ▼               ▼
Team device changes   First non-Ethernet
header operations     port is added
                      │
                      ▼
               Delegated GRE callback
                      │
                      ▼
               skb head expansion
      │               │
      └───────────────┘
              │
              ▼
       stale PPPoE pointer
              │
              ▼
       use-after-free write

يشير سجل CVE إلى أن هذا يمكن أن يحدث عندما تتم إضافة أول منفذ غير إيثرنت إلى جهاز team فارغ ويقوم callback رأس GRE المفوَّض بتوسيع رأس skb.


💥 التأثير الأمني

يمكن أن تؤدي الثغرة إلى:

  • استخدام بعد التحرير (use-after-free) في كومة النواة
  • تلف ذاكرة النواة
  • انهيار النواة / حجب الخدمة
  • احتمال كشف ذاكرة النواة
  • احتمال تعديل تعسفي لذاكرة النواة
  • احتمال تنفيذ تعليمات برمجية في النواة
  • تصعيد الامتيازات محليًا

متجه CVSS المنشور الخاص بـ CVE هو:

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

بدرجة أساسية 7.8 عالية.


🔎 سطح الهجوم التقني

المكوّنات ذات الصلة هي:

PF_PPPOX / PPPoE socket
          │
          ▼
    pppoe_sendmsg()
          │
          ▼
     sk_buff (skb)
          │
          ▼
  dev_hard_header()
          │
          ▼
 Network device header callback
          │
          ▼
 Potential skb head expansion
          │
          ▼
 PPPoE stale header pointer
          │
          ▼
     UAF write

الكود القابل للاستغلال ليس مجرد محلل حزم PPPoE عام؛ الشرط الحرج هو التفاعل بين إرسال مقبس PPPoE وإعادة تخصيص رأس skb الديناميكي.


🩹 الإصلاح في المنبع

عنوان الإصلاح في المنبع هو:

pppoe: reload header pointer after dev_hard_header()

يُعيد الإصلاح تحميل ترويسة PPPoE عبر إزاحة ترويسة الشبكة الخاصة بـ skb بعد إنشاء ترويسة الجهاز.

الخاصية المهمة هي:

Before:

header pointer
      │
      ▼
dev_hard_header()
      │
      ▼
skb moves
      │
      ▼
pointer = stale ❌


After:

dev_hard_header()
      │
      ▼
skb may move
      │
      ▼
reload header using skb offset
      │
      ▼
pointer = valid ✅

pskb_expand_head() يحدّث إزاحة skb ذات الصلة عند نقل رأس skb، مما يجعل البحث المعتمد على الإزاحة آمنًا بعد إعادة التخصيص.


📊 الثغرة مقابل المُرقّع

خاصية الأمانمعرّضة للثغرةمُرقّعة
مؤشر الرأس محفوظ قبل الاستدعاء الراجع✅—
يمكن أن يتحرك رأس skb✅✅
تحديث المؤشر بعد الاستدعاء الراجع❌✅
إلغاء الإشارة إلى مؤشر قديممحتملمُمنع
كتابة بعد التحرير (use-after-free)محتملمُخفف
إفساد ذاكرة النواةمحتملمُخفف

🧪 بيئة البحث

يمكن هيكلة مختبر مُتحكَّم فيه على النحو التالي:

تنزيل الأداة