Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
F9360-CVE43499 — SM-F9360 (Galaxy Z Fold4, q4q) root KernelSU sur bootloader verrouillé — CVE-2026-43499 root temporaire → contournement de DEFEX via LD_PRELOAD → kernelsu.ko clang-12 sans LTO. Vérifié sur appareil le 2026-08-12. | Kitploit
Outils/GitHubGitHub/e-r-butch/f9360-cve43499
Sécurité AndroidEscalade de PrivilègesExploitationRétro-ingénierieSécurité MobileApprentissage et ÉducationAnalyse de MicrologicielExploitation de Binaires
GitHube-r-butch/f9360-cve43499

F9360-CVE43499

SM-F9360 (Galaxy Z Fold4, q4q) root KernelSU sur bootloader verrouillé — CVE-2026-43499 root temporaire → contournement de DEFEX via LD_PRELOAD → kernelsu.ko clang-12 sans LTO. Vérifié sur appareil le 2026-08-12.

435il y a 29 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

SM-F9360 (Galaxy Z Fold4 / q4q) Root KernelSU sans déverrouillage du Bootloader

CVE-2026-43499 root temporaire → contournement de DEFEX via le canal LD_PRELOAD → kernelsu.ko compilé avec clang-12 sans LTO → su + KernelSU Manager pleinement fonctionnels

Statut : ✅ Validé sur appareil réel le 2026-08-12 (firmware F9360ZCSAIZF1, noyau 5.10.236-android12-9-2755199-abF9360ZCSAIZF1)

Ce projet documente la procédure complète et reproductible pour obtenir un root KernelSU sur un appareil Samsung au Bootloader verrouillé : aucun déverrouillage BL, aucun flash de boot.img, aucun Odin requis.


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.


Table des matières

  • 1. Résultats et limites intrinsèques
  • 2. Contexte : pourquoi c'est difficile, pourquoi c'est faisable
  • 3. Vue d'ensemble de la chaîne d'attaque (3 couches)
  • 4. Prérequis d'environnement
  • 5. Étape 1 — Compiler l'exploit (root temporaire)
  • 6. Étape 2 — Compiler kernelsu.ko (recette clang-12 sans LTO)
  • 7. Étape 3 — Compiler ksu-load.so (chargeur contournant DEFEX)
  • 8. Étape 4 — Exécution et vérification sur l'appareil
  • 9. Procédure de restauration après redémarrage
  • 10. Découvertes clés et liste des pièges
  • 11. Compatibilité firmware/noyau
  • 12. Remerciements et projets amont
  • 13. Clause de non-responsabilité

1. Résultats et limites intrinsèques

ÉlémentStatut
Root temporaire (domaine noyau kernel:s0)✅ Obtenu de manière stable (9 succès consécutifs)
Chargement du module KernelSU (init_module)✅ kernelsu ... Live (O)
Exécution complète de l'init KSU✅ 15 marqueurs d'instrumentation tous verts
Commande su✅ uid=0(root) gid=0(root) context=u:r:ksu:s0
KernelSU Manager v3.2.5✅ Reconnaît la version du noyau (détection supercall réussie), fonctionne en mode SELinux enforcing
Déverrouillage du Bootloader❌ Non requis
Flash/modification de partition❌ Non requis

Limite intrinsèque : BL verrouillé → le root est purement en mémoire. Après chaque redémarrage, il faut relancer l'exploit + recharger le module (procédure complète ~3 minutes, scriptée). Le daemon en espace utilisateur ksud ne peut pas être déployé (DEFEX intercepte execve, voir §10-4), mais su / supercall / Manager sont tous gérés directement par le sucompat du noyau, sans dépendre de ksud.

Avertissement : rmmod kernelsu provoque immédiatement un panic et un redémarrage de l'appareil (chemin de restauration de la syscall-table sur mémoire protégée par RKP) — ne jamais décharger le module.

2. Contexte : pourquoi c'est difficile, pourquoi c'est faisable

Pourquoi c'est difficile (défense en profondeur de Samsung)

  • BL verrouillé : le verrou OEM est indéverrouillable, fastboot oem unlock n'existe pas ; tout root persistant (magisk/kernel patch) nécessite de flasher boot.img, or un BL verrouillé refuse toute image auto-signée.
  • KDP / RKP / DEFEX : la protection des données du noyau (toute écriture physique dans rodata déclenche un redémarrage forcé par le moniteur KDP), RKP protège la syscall table via l'hyperviseur, DEFEX intercepte l'exécution de nouveaux ELF dans le domaine root.
  • Noyau CFI + LTO : CONFIG_CFI_CLANG=y + Full LTO. La seule source de mod->init est l'emplacement de la jump-table CFI __cfi_jt_init_module ; tout appel indirect doit passer par une entrée de la table .cfi_jt, sinon la vérification CFI provoque un panic immédiat.
  • TRIM_UNUSED_KSYMS : ~40 symboles nécessaires à KSU sont supprimés de la table d'export __ksymtab, un insmod classique ne peut pas les résoudre (Unknown symbol).
  • MODULE_FORCE_LOAD=n + modversions : le vermagic doit correspondre caractère par caractère ; les flags IGNORE_MODVERSIONS/IGNORE_VERMAGIC mènent tous à try_to_force_load(), une impasse.

Pourquoi c'est faisable

  1. CVE-2026-43499 (UAF de rollback du proxy-lock rtmutex, corrigé en amont en 2026-07) permet une élévation stable vers le domaine noyau sur les firmwares 2026-06 et antérieurs — la communauté dispose déjà d'un portage validé sur appareil réel pour le même SoC (SM8450) + même branche de noyau (5.10) : sarabpal-dev/IonStack-S22U (b0q / S22U, route exp32).
  2. DEFEX n'intercepte que execve, pas le chargement dynamique : le constructor .so en LD_PRELOAD est le seul canal d'exemption pour exécuter du code arbitraire dans le domaine root.
  3. Le mode jailbreak de KernelSU v3.2+ (ksud late-load) est justement conçu pour les appareils à BL verrouillé : pas de flash de boot, init_module directement à l'exécution.
  4. Principe de correspondance de la chaîne d'outils : le type-id CFI est un hash interne à LLVM, le module doit être compilé avec exactement le même compilateur que le noyau de l'appareil (appareil q4q = AOSP clang 12.0.5 r416183b).
  5. La disposition éclatée par LTO est la cause racine ultime des crashs de module : les 447 petites sections ALLOC produites par function-sections font systématiquement planter le chargeur de noyau Samsung ; recompiler sans LTO → disposition traditionnelle en 22 sections → succès du premier coup (voir §10-1).

3. Vue d'ensemble de la chaîne d'attaque (3 couches)

┌─ Couche 1 : root temporaire CVE-2026-43499
│   exploit ionstack-q4q (fuite KASLR → mm reclaim → stamp de pile 32 bits exp32
│   → CFI r/w → pipe physrw → daemon root UMH)
│   → /data/local/tmp/cve-2026-43499-root -c '<cmd>' = canal de commande root domaine kernel:s0
│
├─ Couche 2 : canal de chargement .so via LD_PRELOAD (contournement DEFEX)
│   DEFEX intercepte execve de tout nouvel ELF dans le domaine kernel (Killed) ; le constructor
│   LD_PRELOAD est exempté → ksu-load.so dans le processus /system/bin/true :
│   lit le ko → relocalise manuellement 201 symboles UND via /proc/kallsyms (SHN_ABS + st_value=adresse absolue)
│   → patch vermagic (nécessaire pour les anciens ko) → init_module() → succès
│
└─ Couche 3 : module noyau KernelSU (version clang-12 sans LTO)
    init s'exécute intégralement, 15 marqueurs tous verts → sucompat (allow_shell=1) + supercall disponibles

4. Prérequis d'environnement

Appareil

Télécharger l’outil