
SM-F9360 (Galaxy Z Fold4, q4q): صلاحيات الجذر عبر KernelSU مع بوتلودر مقفل — جذر مؤقت عبر CVE-2026-43499 → تجاوز DEFEX عبر LD_PRELOAD → kernelsu.ko عبر clang-12 بدون LTO. تم التحقق على الجهاز في 2026-08-12.
CVE-2026-43499 root مؤقت → قناة LD_PRELOAD لتجاوز DEFEX → إصدار kernelsu.ko بدون LTO مع clang-12 → su + KernelSU Manager بكامل الوظائف
الحالة: ✅ تم التحقق على جهاز حقيقي بتاريخ 2026-08-12 (البرنامج الثابت
F9360ZCSAIZF1، النواة5.10.236-android12-9-2755199-abF9360ZCSAIZF1)يوثّق هذا المشروع العملية الكاملة القابلة لإعادة الإنتاج للحصول على KernelSU root على أجهزة سامسونج ذات Bootloader مقفل: دون الحاجة إلى فتح قفل BL، ودون تفليش boot.img، ودون Odin.
TL;DR (English): This repo documents a fully device-verified jailbreak path for a locked-bootloader Samsung Galaxy Z Fold4 (SM-F9360, SM8450, kernel 5.10.236, firmware F9360ZCSAIZF1): a CVE-2026-43499 (rtmutex UAF, fixed in July-2026 firmware) exploit chain grants temporary kernel-domain root; a custom LD_PRELOAD constructor .so bypasses Samsung's DEFEX execve interceptor to init_module() a KernelSU LKM built with the exact device toolchain (AOSP clang 12.0.5 r416183b) and with LTO disabled — the two factors that make the module loadable and its init executable on this CFI/LTO hardened kernel. Result: su works (uid=0, context=u:r:ksu:s0) and KernelSU Manager v3.2.5 recognizes the kernel. Root is in-memory only: every reboot requires re-running the exploit (~3 min, scripted). All pitfalls and dead ends (fake exports, CRC patching, ksud late-load, LTO function-sections layout) are documented below.
| البند | الحالة |
|---|---|
root مؤقت (نطاق النواة kernel:s0) | ✅ تحقق مستقر (9 نجاحات متتالية) |
تحميل وحدة KernelSU (init_module) | ✅ kernelsu ... Live (O) |
| تنفيذ KSU init بالكامل | ✅ 15 نقطة تتبع كلها خضراء |
أمر su | ✅ uid=0(root) gid=0(root) context=u:r:ksu:s0 |
| KernelSU Manager v3.2.5 | ✅ يتعرف على إصدار النواة (اجتياز فحص supercall)، يعمل في وضع فرض SELinux |
| فتح قفل Bootloader | ❌ غير مطلوب |
| التفليش/تعديل الأقسام | ❌ غير مطلوب |
القيد الجوهري: قفل BL → root في الذاكرة فقط. بعد كل إعادة تشغيل يجب إعادة تشغيل exploit + إعادة تحميل الوحدة (العملية الكاملة حوالي 3 دقائق، وقد تمت برمجتها نصيًا). لا يمكن نشر daemon ksud في وضع المستخدم (DEFEX يعترض execve، انظر §10-4)، لكن su / supercall / Manager كلها تُعالج مباشرة بواسطة sucompat في النواة، دون الاعتماد على ksud.
تحذير: rmmod kernelsu يؤدي إلى panic وإعادة تشغيل فورية للجهاز (مسار استعادة syscall-table على ذاكرة محمية بـ RKP) — لا تقم أبدًا بإلغاء تحميل الوحدة.
fastboot oem unlock غير موجود؛ أي root دائم (magisk/kernel patch) يتطلب تفليش boot.img، وقفل BL يرفض كل الصور الموقعة ذاتيًا.CONFIG_CFI_CLANG=y + Full LTO. المصدر الوحيد لـ mod->init هو خانة CFI jump-table __cfi_jt_init_module؛ الاستدعاء غير المباشر يجب أن يمر عبر مدخل جدول .cfi_jt، وإلا فإن فحص CFI يؤدي إلى panic مباشرة.__ksymtab، لذا لا يمكن لـ insmod العادي حلها (Unknown symbol).IGNORE_MODVERSIONS/IGNORE_VERMAGIC تمر عبر try_to_force_load() وهو طريق مسدود.sarabpal-dev/IonStack-S22U (b0q / S22U، مسار exp32).LD_PRELOAD لملف .so هو القناة الوحيدة المعفاة لتنفيذ كود عشوائي في نطاق root.ksud late-load) مصمم تحديدًا للأجهزة ذات BL المقفل: دون تفليش boot، مباشرة init_module أثناء التشغيل.┌─ Layer 1: CVE-2026-43499 root مؤقت
│ ionstack-q4q exploit (تسريب KASLR → mm reclaim → exp32 32-bit stack stamp
│ → CFI r/w → pipe physrw → UMH root daemon)
│ → /data/local/tmp/cve-2026-43499-root -c '<cmd>' = قناة أوامر root في نطاق kernel:s0
│
├─ Layer 2: قناة تحميل LD_PRELOAD .so (تجاوز DEFEX)
│ DEFEX يعترض execve لأي ELF جديد في نطاق kernel (Killed)؛ مُنشئ LD_PRELOAD
│ معفى من التنفيذ → ksu-load.so داخل عملية /system/bin/true:
│ قراءة ko → إعادة تحديد موقع يدويًا لـ 201 رمز UND من /proc/kallsyms (SHN_ABS + st_value=العنوان المطلق)
│ → patch vermagic (مطلوب للإصدارات القديمة) → init_module() → نجاح
│
└─ Layer 3: وحدة KernelSU النووية (إصدار بدون LTO مع clang-12)
تنفيذ init بالكامل مع 15 نقطة تتبع خضراء → sucompat (allow_shell=1) + supercall متاح
| البند | القيمة |
|---|---|
| الطراز | SM-F9360 (Galaxy Z Fold4، q4q) |
| SoC | SM8450 (Snapdragon 8+ Gen 1) |
| البرنامج الثابت | F9360ZCSAIZF1 (بناء ≤ 2026-06، يحتوي على CVE) |
| النواة | 5.10.236-android12-9-2755199-abF9360ZCSAIZF1 |
| مترجم الجهاز | AOSP clang 12.0.5 (r416183b, c935d99d7cf) (مؤكد من /proc/version) |
| vermagic الدقيق | 5.10.236-android12-9-2755199-abF9360ZCSAIZF1 SMP preempt mod_unload modversions aarch64 |
برنامج ثابت مختلف = kallsyms / تخطيط / vermagic مختلف، يتطلب إعادة تكييف target.h وإعادة البناء. انظر §11.
clang-14/15 + مصدر focal clang-12 / lld-12 (/usr/bin/clang-12، /usr/bin/ld.lld-12)CC=clang HOSTCC=clang LD=ld.lld-12FryUpDoe/android_kernel_samsung_q4q (opensource.samsung.com به حماية Cloudflare ضد الكشط)exploit مبني على sarabpal-dev/IonStack-S22U (قاعدة GREEN على جهاز حقيقي SM8450 5.10، مسار exp32). تكييف q4q = patches/ionstack-q4q-adapt.patch داخل المستودع (249 سطرًا، يغطي معاملات target.h، kernelsnitch، root.c وغيرها).