Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
IonStack_S21 — Ricerca sulla catena di exploit mirata a CVE-2026-43499 su Samsung Galaxy S21 | Kitploit
Strumenti/GitHubGitHub/kurtulusakyuz/ionstack_s21
Sicurezza AndroidEscalation di PrivilegiAnalisi delle VulnerabilitàExploitReverse EngineeringPost-ExploitSicurezza MobilePaper e RicercaSviluppo PayloadBinary Exploitation
GitHub
87920 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
kurtulusakyuz/ionstack_s21

IonStack_S21

Ricerca sulla catena di exploit mirata a CVE-2026-43499 su Samsung Galaxy S21

Vedi Repository

IonStack_S21 — Ricerca CVE-2026-43499 per Galaxy S21 (SM-G991B)

Progetto KernelSU funzionante e attivo per questo dispositivo: kurtulusakyuz/dfroot-s21 — inizia da lì. Questo repo conserva solo la ricerca IonStack.

Payload IonStack specifico per il dispositivo Samsung Galaxy S21 (o1s) sul firmware G991BXXSJHZC2. Stato: ricerca CHIUSA — solo DoS deterministico; il percorso di scrittura del kernel è dimostrato impossibile su questa build. Prove complete in RESEARCH.md.

CampoValore
ModelloSM-G991B
Dispositivoo1s
FirmwareG991BXXSJHZC2
Android15 / API 35 (AP3A.240905.015.A2, fingerprint samsung/o1sxeea/o1s)
Dimensione pagina4096
Kernel5.4.242-30958140-abG991BXXSJHZC2
SoCExynos 2100
MitigazioniCFI+PAC+PAN/UAO, KDP_CRED, SELinux enforcing, no userfaultfd

Basato sull'implementazione IonStack CVE-2026-43499 pubblicata in NebuSec/CyberMeowfia (upstream b850d3bddc74c3328d5fbcc0568d21962b55d949) e BuSung-dev/CVE-2026-43499-S25U, con ringraziamenti a F-19-F/IonStackQuest3. Licenza Apache 2.0 upstream conservata in LICENSE (vedi NOTICE).

Stato finale (leggere prima)

Il programma di scrittura GhostLock per questo dispositivo è finito e chiuso, non in pausa. Cosa è stato dimostrato, in ordine:

  1. Il bug è reale e presente. remove_waiter() azzera current->pi_blocked_on invece di waiter->task->pi_blocked_on, quindi un rollback di FUTEX_CMP_REQUEUE_PI lascia un puntatore pendente a un rt_waiter sullo stack. La correzione upstream 3bfdc63 è assente da 5.4.242.
  2. Il trigger è affidabile. Il ciclo a 3 thread (owner → chain → waiter → deadlock sul target, CMP principale fallisce con EDEADLK) più un sched_setattr del consumer riproduce un Oops identico al dispositivo (rt_mutex_adjust_prio_chain+0x108 → _raw_spin_trylock+0x1c, fault VA 0) sia in un guest QEMU senza KDP sia sul telefono stesso (lastkmsg 118/119). Lo slot pendente è completamente mappato (stack-top E-0x328, ciclo di vita caratterizzato via QEMU+GDB).
  3. La scrittura è strutturalmente impossibile qui. Nove famiglie di spray di syscall sono state mappate in profondità — nessuna raggiunge lo slot; la slab-reclaim è bloccata da un Catch-22 sulla liveness dell'owner; e il dump decisivo al momento del fire mostra che la copia sigreturn consegna SOLO a victim+0x40 mentre il campo gate attraversato lock (+0x38) NON è MAI controllato dall'attaccante (15/15 dump). Port indipendenti (ASUS i005, rotta sigreturn AQUOS) incontrano lo stesso muro. Geometria, non probabilità.
  4. Ciò che sopravvive è una primitiva di reboot deterministica. Le camminate NULL-lock mandano in panic il kernel e riavviano il telefono — un DoS affidabile, non una privilege escalation.

Anche le correlate vie di LPE del kernel 2026 sono state chiuse su questa build dalla configurazione del firmware (USER_NS, RDS, CRYPTO_USER_API_AEAD tutti non impostati; MFC double-free irraggiungibile con MFC_USE_DMABUF_CONTAINER=n; AF_ALG/eBPF limitati per la shell). Gli artefatti post-scrittura (KernelSU .ko + ksud compilati per questo esatto firmware) sono preparati separatamente; gli header src/kernelsnitch/ in questo albero restano preparati ma non compilati (nessun consumer esiste senza una scrittura).

Struttura

Makefile                  build (NDK r27+, ANDROID_NDK_HOME)
src/                      sorgente exploit (solo profilo o1s)
src/targets/o1s-G991BXXSJHZC2/  target.h + p0_fingerprint.h
src/kernelsnitch/         leak mm_struct (collisione hash futex, preparato)
tools/                    helper fingerprint p0
RESEARCH.md               note di ricerca (geometria, verdetti)

Build

export ANDROID_NDK_HOME=/path/to/android-ndk
make clean all
# SLIDE_WRITER_SEL=1|2|3 seleziona i writer mcast/sigreturn(default)/xattr.
# Non impostato seleziona il writer pselect sperimentale (vedi RESEARCH.md).

Output (build/o1s-G991BXXSJHZC2/): cve-2026-43499 (payload LD_PRELOAD), cve-2026-43499-app.so (payload app), cve-2026-43499-root (helper root).

Deploy ed esecuzione

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"
# in caso di successo:
adb shell "/data/local/tmp/cve-2026-43499-root -c 'id; getenforce'"

Gestione delle aspettative: su questa build "successo" significa la camminata del trigger e il suo output oracle — una camminata NULL-lock riavvia il dispositivo invece di fornire root (vedi "Stato finale" sopra). Il root, se mai ottenuto tramite una futura primitiva di scrittura, vive solo fino al reboot; nulla viene flashato.

Stato / avvertenze

  • Solo DoS, percorso di scrittura chiuso con prove — vedi RESEARCH.md per il resoconto completo (geometria dello slot, chiusura dello spray, grand model SIGRETURN, dump decisivo al momento del fire, conferma on-device).
  • Sensibile al timing; aspettarsi kernel panic. Riavviare per slab pulite, tenere il dispositivo inattivo durante l'esecuzione. /data/local/tmp viene cancellata al reboot — ripushare i binari dopo ogni avvio.
  • Usare solo su dispositivi di propria proprietà o per cui si è esplicitamente autorizzati a testare.
Scarica lo strumento