
Questo pacchetto non è un root completo. Porta SELinux in modalità Permissive e mantiene il reclaim abbastanza a lungo per il lavoro successivo. L'host `uid=0` non viene raggiunto qui.
Snapshot di ricerca di un park solo SELinux funzionante per Samsung Galaxy S26 Ultra (SM-S948U1, nome in codice m3q) sul firmware S948U1UES3AZF1 (GKI 6.12.30-android16-5).
Questo pacchetto non è un root completo. Porta SELinux in Permissive e mantiene il reclaim abbastanza a lungo per il lavoro successivo. Qui non si ottiene uid=0 sull'host.
Costruito sulla linea di lavoro GhostLock / CVE-2026-43499: chassis preload popsicle di Xiaomi, Root-My-Galaxy di Samsung (inclusi il dispositivo target emerald e il retarget m3q), adattato qui per il solo park AZF1. Vedi Attribuzione.
kptr_restrict / same-stack). Queste causano kernel panic e su questo dispositivo hanno lasciato boot che si avviano solo in safe mode (recovery di classe RescueParty), con rischio di factory reset se continui a sbloccare / recuperare in modo scorretto.bin/preload-4-s1.so è specifico per AZF1. Altri firmware richiedono un target.h rigenerato.sched_blocked_reason → base dell'immagine).rt_mutex contraffatta (VA in linear-map).selinux_state.enforcing (enforce 1→0).WAIT_REQUEUE_PI così il park sopravvive più a lungo di un KP ritardato I4 grezzo.LD_PRELOAD (/system/bin/true), reclaim mantenuto; log S1_READY.Esito positivo:
adb shell getenforce # Permissive
adb shell pidof true # non-empty (parked preload)
Lo script helper scrive anche le VA dello stesso boot in finish_va.txt (KASLR, spray, simboli DATA statici).
GhostLock su questo firmware fornisce una scrittura arbitraria vincolata (valori NULL e linear-map/spray in .data scrivibile — non text/rodata del kernel come valore STORE) oltre a SELinux Permissive. Manca ancora il soft-root:
Una CVE complementare separata (soprattutto una primitiva di lettura ancora presente sull'AZF1 di giugno) è l'attuale percorso ad alto EV; lucidare altri punch W2 sul solo GhostLock non lo è.
target.h per la tua build)adb, python3, Android NDK r29+ (per ricompilare)LD_PRELOAD su /system/bin/true# from a Linux/WSL host with the device attached
export SHARE="$PWD" # or path where this repo lives
bash park_cal_one.sh
adb shell getenforce # expect Permissive
park_cal_one.sh imposta SHARE di default sulla directory di questo repo. Sovrascrivi se necessario:
SHARE=/path/to/this/repo PRELOAD=/path/to/this/repo/bin/preload-4-s1.so bash park_cal_one.sh
Lascia stare il processo true in park. Non concatenare secondi punch sperimentali da altri tree.
powershell -ExecutionPolicy Bypass -File .\build-park.ps1
Imposta $ndkBin nello script se il percorso del tuo NDK è diverso.
make -C source clean preload
# output: source/build/bin/preload.so (same I4+R1e park flags as preload-4-s1)
cp source/build/bin/preload.so bin/preload-4-s1.so
Il target.h predefinito abilita il park Candidate I4 + R1e + S1 (AZF1_R1_SECOND_WAIT, AZF1_R1_THEN_S1). Non abilitare i flag K3/K4/soft second-punch per questo pacchetto.
bin/preload-4-s1.so prebuilt park payload (AZF1)
park_cal_one.sh push + run + VA parse
build-park.ps1 Windows NDK build (park only)
source/ preload sources + AZF1 target.h
generate_target.py optional retarget helper (needs your boot.img)
Questo snapshot si basa su lavoro pubblico e di ricerca precedente. Credit dove è dovuto:
Vulnerabilità: CVE-2026-43499 (GhostLock — scrittura residua di priority-inheritance rt_mutex).
Questo tree: porting AZF1 / m3q (SM-S948U1 / S948U1UES3AZF1) dei sorgenti preload popsicle con adattamenti Samsung di classe RMG/emerald, ridotto a un harness di park solo SELinux per hardware di proprietà di ricercatori. Non è un merge di ritorno nel target di prodotto emerald di Root-My-Galaxy.
| Necessità | Perché |
|---|
| Info leak / AR | task_struct* nell'heap o inode VA di /dev/uhid (la read shape-0 di GhostLock e diversi oracoli sono morti su AZF1) |
| Cred / finish | Una volta nota task: scrivere init_cred (o i campi uid) — KDP/RKP di Samsung può bloccare i banali scambi di puntatori; i root Knox funzionanti in genere richiedono uid=0 sull'host e poi KernelSU consapevole di KDP (ksud) |
| Scrittura stabile post-I4 | I punch GhostLock extra dopo I4+R1e sono non sicuri (entrano in KP). Non trattare "basta rifare STORE" come il finish |
| Fase | Stato |
|---|
SELinux enforce→0 + park (I4+R1e) | Funziona sul dispositivo lab AZF1 |
| Ulteriori punch GhostLock "W2" | Non eseguire — KP; può forzare un boot solo in safe mode |
Installazione host uid=0 / KernelSU | Non in questo pacchetto — richiede leak + finish consapevole di Knox |
| Progetto | Ruolo in questo park |
|---|
| CVE-2026-43499-popsicle (Xiaomi popsicle) | Chassis dell'exploit GhostLock: harness LD_PRELOAD, reclaim/spray KernelSnitch, waiter codificato in fdset, core di scrittura residua pselect, layout generate_target.py / Makefile |
| Root-My-Galaxy + Root-My-Galaxy-Payloads | Struttura del soft-root Samsung (park W1 / follow-on W2), direzione del finish consapevole di Knox/KDP, materiale target m3q / AZF1 e l'approccio KASLR prima via tracefs usato qui al posto dello slide P0 boot_id di popsicle |
| emerald (dispositivo target di RMG) | Porting GhostLock precedente sulla linea di dispositivi emerald che ha informato la geometria Samsung di RMG, la strategia di slide e il pattern di rilascio del park SELinux W1; questo park m3q/AZF1 è in quella linea, non una riscrittura da zero |