
أداة استغلال لتصعيد الصلاحيات محليًا في نواة لينكس مع تدقيق آلي للمتطلبات الأساسية لثغرة CVE-2026-46300، إذ تتحقق من حالة التصحيح، وتهيئة XFRM ESP-in-TCP، ومساحات أسماء المستخدمين قبل ترجمة الأداة وتشغيلها.
حزمة تدقيق واستغلال LPE لنواة Linux · انحدار Page-Cache / XFRM ESP-in-TCP (espintcp)
تدقيق تفاعلي ← كشف متطلبات LPE ← تنفيذ الاستغلال تلقائيًا (بعد التأكيد)
⚠️ تحذير أخلاقي وقانوني هذه الأداة مخصّصة فقط لاختبارات الأمان المشروعة والمصرَّح بها — اختبار اختراق بعقد، أو بيئة مختبر/CTF، أو أصول تملكها بنفسك. الاستخدام دون إذن مالك النظام يُعد جريمة (UU ITE، Computer Fraud and Abuse Act، وغيرها). المستخدم يتحمل المسؤولية الكاملة.
CVE-2026-46300 هي ثغرة تصعيد صلاحيات محلي (Local Privilege Escalation - LPE) في نواة Linux ناتجة عن انحدار في skb_try_coalesce() مما يؤدي إلى إفساد page-cache، ويتم استغلالها عبر النظام الفرعي XFRM ESP-in-TCP (espintcp).
يحتوي هذا المستودع على مكوّنين:
| الملف | الوظيفة |
|---|---|
fragnesia.sh | ماسح تدقيق — يتحقق من المتطلبات الثلاثة، ثم يعرض تنفيذ الاستغلال إذا كان الهدف عرضةً للثغرة |
fragnesia.c | استغلال LPE — الكود المصدري للاستغلال الذي يُترجَم ويُشغَّل بواسطة السكربت |
┌───────────────────────┐
│ fragnesia.sh │
│ Audit 3 pemeriksaan │
└──────────┬────────────┘
▼
CHECKS_TRIGGERED > 0 ?
┌──────┴───────┐
│ Ya │ Tidak → Selesai (target aman)
▼ │
Cek fragnesia.c ada?
┌──────┴───────┐
│ Ya │ Tidak → instruksi, selesai
▼ │
Konfirmasi user [y/N]
┌──────┴───────┐
│ Ya │ Tidak → batal, selesai
▼ │
gcc -O2 -w fragnesia.c -o exp
│
▼
./exp ← eksekusi exploit
المشغِّل (المضيف الذي يُنفَّذ عليه السكربت):
gcc لترجمة الاستغلالالهدف (ليكون عرضةً محتملة للثغرة):
skb_try_coalesce())CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP مفعّلة (=y/m)kernel.unprivileged_userns_clone=1)# 1. Clone
git clone https://github.com/Kentox493/CVE-2026-46300_Fragnesia.git
cd CVE-2026-46300_Fragnesia
# 2. Pastikan script executable
chmod +x fragnesia.sh
# 3. (Opsional) Toolchain bila belum ada
sudo apt update && sudo apt install -y build-essential
# atau (RHEL/Fedora)
sudo dnf groupinstall "Development Tools"
./fragnesia.sh
يجب أن يكون fragnesia.c وfragnesia.sh في نفس الدليل، لأن السكربت يبحث عن ملف الاستغلال بمسار نسبي.
يشغّل السكربت ثلاثة فحوصات تدقيق تلقائيًا.
إذا وُجد مؤشر على أن الهدف عرضةٌ للثغرة (CHECKS_TRIGGERED > 0)، تظهر رسالة الطلب:
[?] Target terdeteksi vulnerable (2/3). Lanjut kompilasi & eksekusi exploit? [y/N]:
اكتب y ← يقوم السكربت تلقائيًا بترجمة الاستغلال وتشغيله.
اكتب أي قيمة غير y أو اضغط Enter ← يتم إلغاء التنفيذ وينتهي التدقيق.
gcc -O2 -w fragnesia.c -o exp
./exp
تحقق من اسم المضيف (hostname) والنواة النشطة، ثم افحص سجل تغييرات حزمة النواة لتوزيعتك (apt-get changelog / rpm -q --changelog) لمعرفة وجود تصحيح CVE-2026-46300.
| النتيجة | المعنى |
|---|---|
VULN | لا يوجد تصحيح في سجل تغييرات التوزيعة |
SAFE | تم رصد تصحيح CVE-2026-46300 |
افحص خيار ESP-in-TCP في /boot/config-$(uname -r) أو /proc/config.gz. بديل احتياطي: كشف وحدات XFRM/IPsec عبر /lib/modules/ أو lsmod.
| النتيجة | المعنى |
|---|---|
VULN | CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP مفعّلة (=y/m) |
SAFE | النظام الفرعي معطَّل / غير مدمج |
افحص kernel.unprivileged_userns_clone (بديل احتياطي: /proc/sys/user/max_user_namespaces).
| النتيجة | المعنى |
|---|---|
VULN | تمكين userns ← يمكن لمستخدم غير مميَّز الحصول على CAP_NET_ADMIN |
SAFE | تعطيل userns ← التخفيف مفعّل |
UNCERTAIN | لا يمكن تحديدها ← تحتاج مراجعة يدوية |
| النتيجة | الحكم |
|---|---|
| 3/3 VULN | 🟥 CRITICAL — سلسلة الهجوم الكاملة مكتملة |
لا تكون هذه المرحلة نشطة إلا عندما يكون CHECKS_TRIGGERED > 0. ما ينفّذه السكربت:
# 1. Verifikasi keberadaan fragnesia.c
# 2. Konfirmasi user (default: TIDAK / N)
# 3. Kompilasi exploit:
gcc -O2 -w fragnesia.c -o exp
# 4. Eksekusi:
./exp
ملاحظات حول خيارات الترجمة:
-O2 — تحسين من المستوى الثاني (أمر حاسم لاستغلال يعتمد على السباق/التوقيت ليكون مستقرًا)-w — كتم التحذيرات (كود الاستغلال عادةً مليء بتحذيرات int-conversion وما شابهها)معالجة الأخطاء المدمجة في السكربت:
| الحالة | المعالجة |
|---|---|
fragnesia.c غير موجود |
┌──────────────────────────────────────────────────────────────────┐
│ FRAGNESIA (CVE-2026-46300) - HOST VULNERABILITY AUDIT TOOL │
│ Linux Kernel Page-Cache / XFRM espintcp Regression Inspector │
└──────────────────────────────────────────────────────────────────┘
┌──[STEP 1] Host & Kernel Verification
│ [i] INFO │ Hostname : webserver-01
│ [i] INFO │ Active Kernel : 6.8.0-45-generic
│ [!] VULNERABLE │ Patch Changelog -> No security patch found for CVE-2026-46300
└──
┌──[STEP 2] Kernel Subsystems Configuration (XFRM / ESP)
│ [!] VULNERABLE │ ESP-in-TCP Flag -> CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP active (=y/m)
└──
┌──[STEP 3] User Namespace Isolation Prerequisite
│ [!] VULNERABLE │ User Namespaces -> Enabled (Allows unprivileged user to gain CAP_NET_ADMIN)
└──
┌──────────────────────────────────────────────────────────────────┐
│ EXECUTIVE AUDIT SUMMARY │
└──────────────────────────────────────────────────────────────────┘
[!] AUDIT RESULT: CRITICAL - TARGET IS HIGHLY VULNERABLE
Semua prasyarat rantai serangan (Kernel patch, ESP subsistem, dan Userns) terpenuhi.
┌──────────────────────────────────────────────────────────────────┐
│ OPSIONAL: EKSEKUSI EXPLOIT FRAGNESIA (LPE) │
└──────────────────────────────────────────────────────────────────┘
[i] fragnesia.c ditemukan (18,432 bytes).
[?] Target terdeteksi vulnerable (3/3). Lanjut kompilasi & eksekusi exploit? [y/N]: y
┌──[STEP 4] Kompilasi & Eksekusi Exploit (fragnesia.c)
│ [i] INFO : Toolchain: gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
│ $ gcc -O2 -w fragnesia.c -o exp
│ [✓] Kompilasi berhasil -> ./exp
│ $ ./exp
│ [*] Fragnesia exploit running...
│ [*] Overwriting page cache...
│ [*] Got root! uid=0(root) gid=0(root)
└──
skb_try_coalesce() من موزّع التوزيعة.sudo sysctl -w kernel.unprivileged_userns_clone=0
/etc/sysctl.conf.echo 'install esp4_offload /bin/true' | sudo tee /etc/modprobe.d/disable-esp.conf
sudo update-initramfs -u
exp أو عمليات مشبوهة في /tmpCAP_NET_ADMIN على الحاويات ومساحات أسماء المستخدمينCVE-2026-46300_Fragnesia/
├── fragnesia.sh # Audit scanner + trigger eksekusi exploit (bash)
├── fragnesia.c # Source exploit LPE (C)
└── README.md # Dokumentasi ini
للاستخدام المشروع فقط. هذه الأداة مخصّصة لـ:
يجب عليك الحصول على إذن كتابي من مالك النظام قبل تشغيل هذه الأداة على أي بنية تحتية.
يُوفَّر المستودع "كما هو" دون أي ضمان. لا يتحمل المساهمون أي مسؤولية عن إساءة الاستخدام.
الترخيص: MIT
skb_try_coalesce() — توثيق مكدس الشبكات| العنصر | التفاصيل |
|---|
| CVE | CVE-2026-46300 |
| النوع | تصعيد صلاحيات محلي (LPE) |
| المكوّن | نواة Linux — page-cache + XFRM ESP-in-TCP (espintcp) |
| السبب الجذري | انحدار في skb_try_coalesce() ← إفساد الذاكرة/page-cache |
| المتطلبات المسبقة | يجب توفر 3 شروط (انظر جدول التدقيق) |
| التأثير | مستخدم غير مميَّز ← root |
| 1–2/3 VULN | 🟨 MEDIUM / PARTIALLY EXPOSED — تخفيف جزئي |
| 0/3 VULN | 🟩 SECURE — مُصحَّح / المكونات معطّلة |
| رسالة إرشادية، دون انهيار |
gcc غير مثبَّت | رسالة بأمر تثبيت الأدوات |
| فشل الترجمة | لن يتم تنفيذ الاستغلال، وتُعرض أخطاء المترجم |
كود الخروج ./exp ≠ 0 | يُبلَّغ عنه كفشل |