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

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

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 وتحليل السبب الجذري وإعداد مختبر.

منذ 7س 50دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

⚡ CVE-2026-68121 - PPPoEject

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

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


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

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

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


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

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


🧬 وصف الثغرة

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

root@kitploit:~
drivers/net/ppp/pppoe.c

ضمن:

root@kitploit:~
pppoe_sendmsg()

التسلسل المعرّض للثغرة من الناحية المفاهيمية:

root@kitploit:~
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 لدوال رد نداء ترويسة الجهاز بإعادة تخصيص رأس sk_buff. لذلك لا يمكن إعادة استخدام مؤشر إلى الرأس القديم بأمان بعد عودة dev_hard_header().


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

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

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

root@kitploit:~
dev_hard_header()

غير أن رد النداء هذا قد يتسبب في انتقال رأس skb.

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

root@kitploit:~
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 الترويسة لاحقًا عبر ذلك المؤشر، تنفّذ النواة كتابة استخدام-بعد-التحرير.


🧠 شرط التفعيل

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

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

root@kitploit:~
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 إلى أن ذلك قد يحدث عندما يُضاف أول منفذ غير Ethernet إلى جهاز team فارغ، ويقوم رد نداء ترويسة GRE المفوَّض بتوسيع رأس skb.


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

قد تؤدي الثغرة إلى:

  • استخدام-بعد-التحرير في كومة النواة
  • إفساد ذاكرة النواة
  • انهيار النواة / حجب الخدمة
  • احتمال كشف ذاكرة النواة
  • احتمال تعديل عشوائي لذاكرة النواة
  • احتمال تنفيذ كود في النواة
  • تصعيد الصلاحيات المحلي

متجه CVSS المنشور للثغرة هو:

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

بدرجة أساسية 7.8 High.


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

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

root@kitploit:~
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.


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

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

root@kitploit:~
pppoe: reload header pointer after dev_hard_header()

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

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

root@kitploit:~
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، مما يجعل البحث المعتمد على الإزاحة آمنًا بعد إعادة التخصيص.


📊 المعرّض مقابل المرقَّع


🧪 بيئة البحث

يمكن تنظيم مختبر محكوم على النحو التالي:

root@kitploit:~
┌───────────────────────────────────────────────┐
│                 Linux VM                     │
│                                               │
│       ┌───────────────┐                       │
│       │ PPPoE Socket  │                       │
│       └───────┬───────┘                       │
│               │                               │
│               ▼                               │
│       ┌───────────────┐                       │
│       │ pppoe_sendmsg │                       │
│       └───────┬───────┘                       │
│               │                               │
│               ▼                               │
│       ┌───────────────┐                       │
│       │     Team      │                       │
│       └───────┬───────┘                       │
│               │                               │
│               ▼                               │
│       ┌───────────────┐                       │
│       │     GRE       │                       │
│       └───────────────┘                       │
│                                               │
└───────────────────────────────────────────────┘

أدوات تصحيح النواة المفيدة:

root@kitploit:~
gdb
pwndbg
gef
crash
objdump
readelf
pahole

مراقبة رسائل النواة:

root@kitploit:~
sudo dmesg -w

فحص دعم PPPoE:

root@kitploit:~
lsmod | grep pppoe

التحقق من وحدات PPP المتاحة:

root@kitploit:~
find /lib/modules/$(uname -r) -iname '*pppoe*'

🔎 التحقق من النواة

تحقق من النواة قيد التشغيل حاليًا:

root@kitploit:~
uname -r

تحقق من الإعدادات المتعلقة بـ PPPoE:

root@kitploit:~
grep -E 'CONFIG_PPP|CONFIG_PPPOE' \
/boot/config-$(uname -r)

تشمل الخيارات النموذجية ذات الصلة:

root@kitploit:~
CONFIG_PPP
CONFIG_PPP_ASYNC
CONFIG_PPP_SYNC_TTY
CONFIG_PPPOE

🧪 سير عمل إعادة الإنتاج

لأبحاث النواة المحكومة:

root@kitploit:~
01. Build vulnerable kernel
          ↓
02. Boot isolated VM
          ↓
03. Enable PPPoE support
          ↓
04. Create controlled networking topology
          ↓
05. Configure team/GRE interaction
          ↓
06. Exercise PPPoE sendmsg()
          ↓
07. Monitor skb lifetime
          ↓
08. Capture kernel diagnostics
          ↓
09. Apply upstream patch
          ↓
10. Repeat and compare

الهدف هو إعادة إنتاج انتهاك عمر الذاكرة بأمان ومقارنة السلوك المعرّض والسلوك المرقَّع.


📂 هيكل المستودع

root@kitploit:~
CVE-2026-68121-PPPoEject/
│
├── README.md
│
├── exploit/
│   ├── poc.c
│   └── Makefile
│
├── analysis/
│   ├── root-cause.md
│   ├── pppoe-sendmsg.md
│   ├── skb-lifetime.md
│   └── patch-analysis.md
│
├── kernel/
│   ├── vulnerable/
│   └── patched/
│
├── lab/
│   ├── setup.sh
│   ├── cleanup.sh
│   └── topology.md
│
├── screenshots/
│
├── docs/
│   └── research-notes.md
│
└── LICENSE

🛡️ التخفيف

التخفيف الموصى به هو التحديث إلى نواة Linux تحتوي على إصلاح المنبع أو نسخة خلفية مناسبة من التوزيعة.

لـ Debian/Kali:

root@kitploit:~
sudo apt update
sudo apt full-upgrade

ثم أعد التشغيل:

root@kitploit:~
sudo reboot

تحقق من النواة قيد التشغيل:

root@kitploit:~
uname -r

قد تستخدم النسخ الخلفية للتوزيعات أرقام إصدارات مختلفة، لذا ينبغي للمسؤولين التحقق من الحزمة المثبَّتة مقابل النشرة الأمنية الخاصة بالتوزيعة. تُدرج Debian حاليًا إصدارات مُصلَحة تشمل 6.1.187-1 لـ Bookworm و6.12.101-1 لـ Trixie.


📦 مراجع إصلاح المنبع

تحتوي أشجار Linux المستقرة على الإصلاح عبر فروع متعددة مُصانة. يُدرج سجل CVE الالتزامات المستقرة المقابلة ويحدد ملف المصدر المتأثر على أنه:

root@kitploit:~
drivers/net/ppp/pppoe.c

يبدأ السجل المعرّض من تطبيق PPPoE في نواة Linux، وتنتهي سلسلة الالتزامات المُصلَحة عند إصلاح المنبع الممثَّل بـ 7a56e7c9b08e08fd55a1bcada24cf4fe3782b722 في بيانات CVE.


🧩 دروس أمنية

01 — عمر المؤشر مهم

لا يمكن افتراض صلاحية مؤشر إلى skb بعد رد نداء قادر على إعادة تخصيص رأس skb.

02 — ردود النداء قد تُبطل الافتراضات

قد تغيّر ردود نداء الشبكات تخطيط الذاكرة الأساسي.

03 — استخدم الإزاحات عندما يمكن للذاكرة أن تنتقل

يوضح الإصلاح لماذا تكون الإزاحة النسبية لـ skb أكثر أمانًا من الاحتفاظ بمؤشر خام عبر عملية قد تنقل الذاكرة.

04 — حالات التسابق تضخّم أخطاء الذاكرة

تعتمد الحالة المعرّضة على نشاط متزامن حول إرسال الحزم وإعداد جهاز الشبكة.

05 — ثغرات UAF في النواة عالية التأثير

قد يتحول مؤشر قديم في كود شبكات النواة إلى بدائية إفساد ذاكرة ذات تبعات على السرية والسلامة والتوافر.


📚 المراجع

  • CVE: CVE-2026-68121
  • الاسم الرمزي: PPPoEject
  • النظام الفرعي في Linux: PPPoE
  • المصدر: drivers/net/ppp/pppoe.c
  • الدالة الأساسية: pppoe_sendmsg()
  • الإصلاح: pppoe: reload header pointer after dev_hard_header()
  • CVSS: 7.8 High
  • Debian Security Tracker: CVE-2026-68121
  • مراجع Linux Kernel / Stable: مُدرجة في سجل CVE

⚡ PPPoEject

CVE-2026-68121

Linux Kernel · PPPoE · Use-After-Free · Kernel Security · LPE


Research • Analyze • Reproduce • Harden


0xBlackash

تنزيل الأداة
الحقلالتفاصيل
CVECVE-2026-68121
الاسم الرمزيPPPoEject
المكوّنLinux Kernel
النظام الفرعيPPPoE / Networking
الملف المتأثرdrivers/net/ppp/pppoe.c
الدالة الأساسيةpppoe_sendmsg()
فئة الخللUse-After-Free
التأثيرإفساد ذاكرة النواة
التأثير المحتملتصعيد الصلاحيات المحلي
CVSS v3.17.8 — High
ناقل الهجوممحلي
تعقيد الهجوممنخفض
الصلاحيات المطلوبةمنخفضة
تفاعل المستخدملا يوجد
الحالةتم الترقيع
خاصية الأمانVulnerablePatched
Header pointer saved before callback✅—
skb head can move✅✅
Pointer refreshed after callback❌✅
Stale pointer dereferencePossiblePrevented
Use-after-free writePossibleMitigated
Kernel memory corruptionPossibleMitigated