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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
setcred — CVE-2026-45250: FreeBSD 14.4 setcred تجاوز المخزن المؤقت للنواة (LPE) | Kitploit
أدوات/GitHubGitHub/venglin/setcred
تصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالشيل كوداختبار الاختراقتطوير الحمولاتاستغلال الملفات الثنائية
GitHubvenglin/setcred

setcred

CVE-2026-45250: FreeBSD 14.4 setcred تجاوز المخزن المؤقت للنواة (LPE)

عرض المستودع
222منذ 27 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

FreeBSD setcred(2) — مواد بحثية

يجمع هذا الدليل الفرعي الشرح (write-up) والاستغلالات (exploits) العاملة لـ تجاوز سعة المخزن المؤقت (stack buffer overflow) في دالة setcred(2) في نواة FreeBSD 14.x.

الثغرة نفسها موثقة بالكامل في setcred.txt. النسخة المختصرة: تستخدم kern_setcred_copyin_supp_groups() sizeof(*groups) حيث groups من النوع gid_t **، مما ينتج خطوة (stride) بحجم 8 بايت بدلاً من 4 لـ copyin() في مصفوفة kernel-stack ذات حجم ثابت. يمكن الوصول إلى التجاوز قبل أي فحص صلاحيات، من قبل أي مستخدم غير مميز.

يحتوي هذا المستودع على مسارين استغلاليين عاملين:

  • no-SMAP / no-SMEP — exp2_lpe_no_smap.c. استدعاء نظام واحد setcred(2) يقلب خيط الاستدعاء إلى uid=0 عن طريق توجيه البدائية المتسلسلة (chain primitive) عند amd64_syscall+0x155 إلى شيلكود (shellcode) في مساحة المستخدم عبر struct sysentvec مزيف.

  • مع تمكين SMAP/SMEP — exp_setcred_smap_zfs.c. يختطف إلى ZSTD_initCStream_advanced في zfs.ko الذي يكتب بداخله td_ucred = rcx+1. مع rcx = K1 = parent_pargs - 1 (كلمة رباعية (qword) مزروعة في slab pargs لطفل)، يهبط مؤشر الاعتماد (credential pointer) لخيط الاستدعاء داخل slab pargs الأب حيث زرعنا struct ucred مزيفًا يحتوي على cr_uid=0. يعمل على أي نظام FreeBSD 14.4 GENERIC مع تحميل zfs.ko (تكوين خادم نموذجي) ولا يتطلب بدائية تسريب معلومات (info-leak primitive) من النواة.

Layout

root@kitploit:~
setcred/
+- setcred.txt          Primary write-up: vulnerability, both LPE
|                       techniques, PoC pointers, FIX STATUS, timeline.
|                       Pure ASCII.
+- exploits/            Curated exploit drop.
    +- poc_dos.c                    Minimal DoS PoC -- any user
    |                               panics kernel.
    +- exp2_lpe_no_smap.c           Full LPE on no-SMAP/SMEP kernel.
    +- exp_setcred_smap_zfs.c       SMAP/SMEP-safe LPE via zfs.ko
    |                               ZSTD gadget.  No info-leak.
    +- wrapper.c                    Tiny setuid-root → /bin/sh
    |                               launcher installed at /tmp/rsh
    |                               by exp_setcred_smap_zfs.
    +- Makefile.setcred_smap_zfs    Guest-side build pipeline for
    |                               the SMAP/SMEP path
    |                               (all, install, clean).
    +- README_setcred_smap_zfs.md   End-user write-up for the
                                    SMAP/SMEP path.

Status

  • هجوم رفض الخدمة (DoS) (أي مستخدم يتسبب في ذعر النواة) ورفع الامتياز الكامل (LPE) بدون SMAP/SMEP يمكن إعادة إنتاجهما بواسطة البرامج المقابلة في exploits/.

  • رفع الامتياز الكامل مع تمكين SMAP/SMEP يمكن إعادة إنتاجه عبر exp_setcred_smap_zfs.c على أي نظام FreeBSD 14.4 GENERIC مع تحميل zfs.ko. انظر setcred.txt للحصول على التقنية.

  • 14.4-RELEASE / stable/14 لا تزال عرضة للثغرة حتى تاريخ التقرير. تم إصلاح الثغرة في الفرع الرئيسي (main) في 2025-11-27 (الالتزام 000d5b5) كأثر جانبي لإعادة هيكلة غير ذات صلة ولم يتم إرجاعه (backported) إلى الإصدارات المستقرة.

تنزيل الأداة