
SM-F9360 (Galaxy Z Fold4, q4q) लॉक्ड-बूटलोडर KernelSU रूट — CVE-2026-43499 अस्थायी रूट → LD_PRELOAD DEFEX बाइपास → no-LTO clang-12 kernelsu.ko. डिवाइस-सत्यापित 2026-08-12.
CVE-2026-43499 अस्थायी root → LD_PRELOAD चैनल से DEFEX बायपास → बिना LTO clang-12 संस्करण kernelsu.ko → su + KernelSU Manager पूर्ण कार्यक्षमता
स्थिति: ✅ 2026-08-12 वास्तविक डिवाइस पर सत्यापित (फर्मवेयर
F9360ZCSAIZF1, कर्नेल5.10.236-android12-9-2755199-abF9360ZCSAIZF1)यह प्रोजेक्ट Bootloader लॉक वाले Samsung डिवाइस पर KernelSU root प्राप्त करने की पूर्ण पुनरुत्पाद्य प्रक्रिया दर्ज करता है: 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 एम्बेडेड mark सभी हरे |
su कमांड | ✅ uid=0(root) gid=0(root) context=u:r:ksu:s0 |
| KernelSU Manager v3.2.5 | ✅ कर्नेल संस्करण पहचानता है (supercall जाँच पास), SELinux प्रवर्तन मोड में कार्यरत |
| Bootloader अनलॉक | ❌ आवश्यक नहीं |
| फ्लैशिंग/पार्टीशन संशोधन | ❌ आवश्यक नहीं |
मूलभूत सीमा: BL लॉक → root विशुद्ध इन-मेमोरी स्थिति है। प्रत्येक रीबूट के बाद exploit दोबारा चलाना + मॉड्यूल पुनः लोड करना आवश्यक है (पूरी प्रक्रिया लगभग 3 मिनट, स्क्रिप्टेड)। ksud यूज़रस्पेस daemon तैनात नहीं किया जा सकता (DEFEX execve रोकता है, देखें §10-4), लेकिन su / supercall / Manager सभी कर्नेल sucompat द्वारा सीधे संभाले जाते हैं, ksud पर निर्भर नहीं।
चेतावनी: rmmod kernelsu डिवाइस को तुरंत panic रीबूट करा देगा (RKP संरक्षित मेमोरी पर syscall-table पुनर्स्थापन पथ) — कभी अनलोड न करें।
fastboot oem unlock मौजूद नहीं; कोई भी स्थायी root (magisk/kernel patch) के लिए boot.img फ्लैश करना आवश्यक है, और locked 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 constructor .so root डोमेन में मनमाना कोड निष्पादित करने का एकमात्र छूट चैनल है।ksud late-load) विशेष रूप से लॉक BL डिवाइस के लिए डिज़ाइन किया गया है: boot फ्लैश नहीं, सीधे रनटाइम पर init_module।┌─ Layer 1: CVE-2026-43499 अस्थायी root
│ ionstack-q4q exploit (KASLR लीक → mm reclaim → exp32 32-bit स्टैक stamp
│ → CFI r/w → pipe physrw → UMH root daemon)
│ → /data/local/tmp/cve-2026-43499-root -c '<cmd>' = kernel:s0 डोमेन root कमांड चैनल
│
├─ Layer 2: LD_PRELOAD .so लोडिंग चैनल (DEFEX बायपास)
│ DEFEX kernel डोमेन में किसी भी नई ELF के execve को रोकता है (Killed); LD_PRELOAD का constructor
│ निष्पादन छूट प्राप्त → ksu-load.so /system/bin/true प्रक्रिया के भीतर:
│ ko पढ़ें → /proc/kallsyms से 201 UND प्रतीकों का मैनुअल रीलोकेशन (SHN_ABS + st_value=निरपेक्ष पता)
│ → vermagic patch (पुराने संस्करण के लिए आवश्यक) → init_module() → सफल
│
└─ Layer 3: KernelSU कर्नेल मॉड्यूल (बिना LTO clang-12 संस्करण)
init पूर्ण निष्पादन 15 mark सभी हरे → 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 एंटी-स्क्रैपिंग है)