Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
IonStack_S21 — Recherche de chaîne d'exploitation ciblant CVE-2026-43499 sur Samsung Galaxy S21 | Kitploit
Outils/GitHubGitHub/kurtulusakyuz/ionstack_s21
Sécurité AndroidEscalade de PrivilègesAnalyse des VulnérabilitésExploitationRétro-ingénieriePost-ExploitationSécurité MobileArticles et RechercheDéveloppement de Charges UtilesExploitation de Binaires
GitHub
879il y a 20 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
kurtulusakyuz/ionstack_s21

IonStack_S21

Recherche de chaîne d'exploitation ciblant CVE-2026-43499 sur Samsung Galaxy S21

Voir le dépôt

IonStack_S21 — Recherche CVE-2026-43499 pour Galaxy S21 (SM-G991B)

Projet KernelSU fonctionnel et actif pour cet appareil : kurtulusakyuz/dfroot-s21 — commencez par là. Ce dépôt ne conserve que la recherche IonStack.

Charge utile IonStack spécifique à l'appareil pour le Samsung Galaxy S21 (o1s) sous firmware G991BXXSJHZC2. Statut : recherche CLOSE — DoS déterministe uniquement ; le chemin d'écriture noyau est prouvé impossible sur cette build. Preuves complètes dans RESEARCH.md.

ChampValeur
ModèleSM-G991B
Appareilo1s
FirmwareG991BXXSJHZC2
Android15 / API 35 (AP3A.240905.015.A2, fingerprint samsung/o1sxeea/o1s)
Taille de page4096
Noyau5.4.242-30958140-abG991BXXSJHZC2
SoCExynos 2100
MitigationsCFI+PAC+PAN/UAO, KDP_CRED, SELinux enforcing, pas de userfaultfd

Basé sur l'implémentation IonStack CVE-2026-43499 publiée dans NebuSec/CyberMeowfia (amont b850d3bddc74c3328d5fbcc0568d21962b55d949) et BuSung-dev/CVE-2026-43499-S25U, avec remerciements à F-19-F/IonStackQuest3. Licence Apache 2.0 amont conservée dans LICENSE (voir NOTICE).

État final (à lire en premier)

Le programme d'écriture GhostLock pour cet appareil est terminé et clos, non pas en pause. Ce qui a été prouvé, dans l'ordre :

  1. Le bug est réel et présent. remove_waiter() efface current->pi_blocked_on au lieu de waiter->task->pi_blocked_on, donc un rollback de FUTEX_CMP_REQUEUE_PI laisse un pointeur pendant vers un rt_waiter sur la pile. Le correctif amont 3bfdc63 est absent de 5.4.242.
  2. Le déclencheur est fiable. Le cycle à 3 threads (propriétaire → chaîne → waiter → interblocage cible, échec du CMP principal en EDEADLK) plus un sched_setattr consommateur reproduit un Oops identique à celui de l'appareil (rt_mutex_adjust_prio_chain+0x108 → _raw_spin_trylock+0x1c, VA fautif 0) à la fois dans un invité QEMU sans KDP et sur le téléphone lui-même (lastkmsg 118/119). L'emplacement pendant est entièrement mappé (sommet de pile E-0x328, cycle de vie caractérisé via QEMU+GDB).
  3. L'écriture est structurellement impossible ici. Neuf familles de spray syscall ont été cartographiées en profondeur — aucune n'atteint l'emplacement ; la récupération de slab est bloquée par un Catch-22 de vivacité du propriétaire ; et le dump décisif au moment du tir montre que la copie sigreturn ne livre QU'À victim+0x40 tandis que le champ de porte parcouru lock (+0x38) n'est JAMAIS contrôlé par l'attaquant (15/15 dumps). Des ports indépendants (ASUS i005, route sigreturn AQUOS) ont heurté le même mur. Géométrie, pas probabilité.
  4. Ce qui subsiste est une primitive de redémarrage déterministe. Les parcours de verrou NULL font paniquer le noyau et redémarrer le téléphone — un DoS fiable, pas une escalade de privilèges.

Les voies connexes d'LPE noyau de 2026 ont également été fermées sur cette build par la configuration du firmware (USER_NS, RDS, CRYPTO_USER_API_AEAD tous non définis ; double-free MFC inatteignable avec MFC_USE_DMABUF_CONTAINER=n ; AF_ALG/eBPF restreints pour le shell). Les artefacts post-écriture (KernelSU .ko + ksud compilés pour ce firmware exact) sont préparés séparément ; les en-têtes src/kernelsnitch/ dans cet arbre restent préparés mais non compilés (aucun consommateur n'existe sans écriture).

Arborescence

Makefile                  build (NDK r27+, ANDROID_NDK_HOME)
src/                      code source de l'exploit (profil o1s uniquement)
src/targets/o1s-G991BXXSJHZC2/  target.h + p0_fingerprint.h
src/kernelsnitch/         fuite mm_struct (collision de hash futex, préparé)
tools/                    assistant de fingerprint p0
RESEARCH.md               notes de recherche (géométrie, verdicts)

Compilation

export ANDROID_NDK_HOME=/path/to/android-ndk
make clean all
# SLIDE_WRITER_SEL=1|2|3 sélectionne les writers mcast/sigreturn(défaut)/xattr.
# Non défini sélectionne le writer pselect expérimental (voir RESEARCH.md).

Sorties (build/o1s-G991BXXSJHZC2/) : cve-2026-43499 (charge utile LD_PRELOAD), cve-2026-43499-app.so (charge utile app), cve-2026-43499-root (assistant root).

Déploiement et exécution

adb push build/o1s-G991BXXSJHZC2/cve-2026-43499 /data/local/tmp/cve-2026-43499
adb push build/o1s-G991BXXSJHZC2/cve-2026-43499-root /data/local/tmp/cve-2026-43499-root
adb shell chmod 755 /data/local/tmp/cve-2026-43499 /data/local/tmp/cve-2026-43499-root
adb shell "LD_PRELOAD=/data/local/tmp/cve-2026-43499 sh"
# en cas de succès :
adb shell "/data/local/tmp/cve-2026-43499-root -c 'id; getenforce'"

Gestion des attentes : sur cette build, « succès » désigne le parcours du déclencheur et sa sortie oracle — un parcours de verrou NULL redémarre l'appareil au lieu de donner root (voir « État final » ci-dessus). Root, s'il est un jour obtenu via une future primitive d'écriture, ne vit que jusqu'au redémarrage ; rien n'est flashé.

Statut / avertissements

  • DoS uniquement, chemin d'écriture clos avec preuves — voir RESEARCH.md pour le compte rendu complet (géométrie de l'emplacement, clôture du spray, grand modèle SIGRETURN, dump décisif au moment du tir, confirmation sur appareil).
  • Sensible au timing ; attendez-vous à des paniques noyau. Redémarrez pour des slabs propres, gardez l'appareil inactif pendant l'exécution. /data/local/tmp est effacé au redémarrage — repoussez les binaires après chaque démarrage.
  • À utiliser uniquement sur des appareils que vous possédez ou êtes explicitement autorisé à tester.
Télécharger l’outil