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-aristotle-apk — Exploit du noyau Android pour CVE-2026-43499 (use-after-free Futex-PI) offrant un accès root temporaire sur Xiaomi XIG04 afin d'activer ADB. Comprend une compilation automatisée du payload et une activation en un clic. | Kitploit
Outils/GitHubGitHub/soralis0912/cve-2026-43499-aristotle-apk
Sécurité AndroidEscalade de PrivilègesAnalyse des VulnérabilitésExploitationShellcodeSécurité MobileDéveloppement de Charges UtilesExploitation de Binaires

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
GitHub
soralis0912/cve-2026-43499-aristotle-apk

CVE-2026-43499-aristotle-apk

Exploit du noyau Android pour CVE-2026-43499 (use-after-free Futex-PI) offrant un accès root temporaire sur Xiaomi XIG04 afin d'activer ADB. Comprend une compilation automatisée du payload et une activation en un clic.

Voir le dépôt
52il y a 26 joursPas encore vérifié

Activer ADB sur Aristotle

Une application Android minimale qui active ADB sur un au/KDDI Xiaomi « aristotle » (XIG04, Android 12) dont les options de développeur sont inaccessibles, à l'aide d'un root temporaire obtenu grâce à CVE-2026-43499. Il s'agit d'un outil de propriétaire d'appareil dans la même catégorie que KingRoot : il roote votre propre téléphone pour modifier un paramètre.

Périmètre : votre propre XIG04 fonctionnant sous Xiaomi/XIG04_jp_kdi/XIG04:12/SP1A.210812.016/V14.0.3.0.TMFJPKD. Pas un exploit à usage général ou à distance.


Ce qu'elle fait

Un bouton, une seule tâche :

  1. Placez la charge utile de l'exploit (preload.so) extraite de l'APK dans le filesDir privé de l'application, chmod 0700.
  2. Déclenchez le bug du noyau en lançant un /system/bin/true éphémère avec LD_PRELOAD pointant vers cette charge utile. Le constructeur ELF de la charge utile déclenche l'use-after-free Futex-PI, obtient un root temporaire et installe automatiquement un client su + un démon.
  3. Confirmez le root en exécutant su -c id et en vérifiant la présence de uid=0.
  4. Activez ADB en tant que root :
    • settings put global development_settings_enabled 1
    • settings put global adb_enabled 1
    • stop adbd; start adbd (repli sur setprop ctl.restart adbd)

Chaque étape est affichée dans un journal à l'écran.

La vulnérabilité

CVE-2026-43499 — une utilisation après libération (use-after-free) dans le chemin Futex-PI du noyau Linux (kernel/locking/rtmutex.c, remove_waiter()). Le noyau 5.10.136-android12 d'aristotle est concerné (CONFIG_FUTEX_PI=y, CONFIG_RT_MUTEXES=y). L'exploit utilise un « direct-root » data-only (échange du cred, bascule du mode enforcing de SELinux) et effectue un brute-force des balises MTE pour survivre au durcissement de l'appareil. Le code source de l'exploit et les offsets mesurés d'aristotle se trouvent dans le sous-module git exploit/ de ce dépôt.


La charge utile est construite automatiquement

preload.so n'est pas commité. Il est produit à partir du sous-module exploit/ et intégré dans l'APK au moment de la compilation :

  • exploit/ — sous-module git : l'exploit aristotle CVE-2026-43499 (construit preload.so).
  • La tâche Gradle buildExploitSo (branchée sur preBuild) exécute le make ... API=31 de l'exploit, puis copie le preload.so obtenu dans app/src/main/assets/exploit/preload.so avant l'empaquetage de l'APK.

Un simple ./gradlew assembleDebug construit donc la charge utile et l'embarque, à condition que le NDK Android soit installé.

Compilation

root@kitploit:~
# 1. fetch the exploit submodule
git submodule update --init --recursive

# 2. install the Android NDK r29 (the exploit Makefile auto-detects it,
#    or export ANDROID_NDK_ROOT), plus JDK 17 and Android SDK platform 34

# 3. build — auto-builds preload.so (API=31) and embeds it
./gradlew assembleDebug          # -> app/build/outputs/apk/debug/app-debug.apk

Pas de NDK / vous voulez seulement l'enveloppe de l'application ? Ignorez la compilation de la charge utile (l'application signale alors « exploit payload NOT deployed » et ne modifie rien à l'exécution) :

root@kitploit:~
./gradlew assembleDebug -PskipExploitBuild

Wrapper jar : gradle-wrapper.jar n'est pas commité. Générez-le une fois avec gradle wrapper --gradle-version 8.2, ou compilez avec un Gradle système (la CI utilise un Gradle système, donc aucun wrapper jar n'y est nécessaire).

CI / versions

.github/workflows/build-release.yml (GitHub Actions) compile l'APK à chaque push et le publie sous forme de GitHub Release (tag build-<run>), avec l'app-debug.apk joint. Le workflow récupère le sous-module exploit, installe JDK 17 / Android SDK 34 / NDK r29, et exécute gradle assembleDebug, qui compile et intègre preload.so (API=31).

Configuration initiale : poussez ce dépôt et le dépôt de l'exploit vers le même propriétaire GitHub en tant que dépôts frères, afin que l'URL relative du sous-module soit résolue. Si le dépôt de l'exploit est privé, ajoutez un PAT doté du scope repo comme secret SUBMODULE_PAT et décommentez la ligne token: dans le workflow.

Arborescence

root@kitploit:~
.
├── settings.gradle / build.gradle / gradle.properties   Gradle wiring
├── gradlew(.bat) + gradle/wrapper/                       wrapper
├── exploit/                                              git submodule (builds preload.so)
└── app/
    ├── build.gradle          minSdk 31 / targetSdk 31 / compileSdk 34, arm64-v8a; buildExploitSo task
    └── src/main/
        ├── AndroidManifest.xml         single launcher Activity, no dangerous perms
        ├── java/.../MainActivity.kt    button + scrolling log
        ├── java/.../ExploitRunner.kt   stage → LD_PRELOAD → su -c "settings ..."
        ├── res/{layout,values}/        UI, strings, theme
        └── assets/exploit/             preload.so is embedded here at build time

Exécution

  1. git submodule update --init --recursive, installez le NDK, puis ./gradlew assembleDebug.
  2. Installez et lancez l'application sur le XIG04. Si ADB est ce que vous essayez d'activer, installez l'APK depuis l'appareil lui-même (gestionnaire de fichiers / téléchargement depuis le navigateur) et ouvrez l'application depuis le lanceur.
  3. Touchez Enable ADB (tmp-root) et suivez le journal. En cas de succès, il se termine par adb_enabled is now: 1.
  4. Connectez ADB depuis votre PC comme d'habitude.

Limitations / avertissements

  • Compilation unique. Les offsets sont liés à la ROM ci-dessus ; une autre compilation nécessite une charge utile re-portée.
  • Le root temporaire est volatile. Le root est perdu au redémarrage. adb_enabled dans les paramètres globaux persiste généralement, et adbd n'a pas besoin de root une fois activé.
  • SELinux / W^X. L'exécution d'un fichier privé de l'application via LD_PRELOAD peut être refusée selon le domaine de l'application ; la stratégie propre de l'exploit gère ce cas, et tout refus est affiché dans le journal plutôt que masqué.
  • Utilisation sur appareil personnel uniquement. Cela sert à déverrouiller ADB sur du matériel que vous possédez.
Télécharger l’outil