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
Strumenti/GitHubGitHub/ylh440104/infinitycore-android-cve-2026-98260
Sicurezza AndroidEscalation di PrivilegiMemory ForensicsExploitSicurezza MobileGenerazione di ShellcodeSviluppo PayloadBinary Exploitation

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
GitHub
ylh440104/infinitycore-android-cve-2026-98260

InfinityCore-Android-CVE-2026-98260

Proof-of-concept ARM64 per Android per CVE-2026-98260, una UAF del timer POSIX nel sottosistema Timer del kernel, con una catena completa di race, heap spray ed escalation a root.

Vedi Repository
4419111 giorni faRevisionato da Kitploit

InfinityCore Android — CVE-2026-98260 (Timer)

中文

Panoramica

Implementazione ARM64 della vulnerabilità nel sottosistema Timer della serie Infinity Core, con forma del kernel di destinazione della serie 7.0 (struttura del codice sorgente identica a Ubuntu 26.04 7.0.0-30-generic). Questo repository implementa la catena completa di attivazione e di escalazione dei privilegi; gli offset chiave sono codificati in modo fisso secondo il layout strutturale di tale versione di destinazione e consentono di correggere direttamente gli indirizzi dei simboli confrontandoli con il vmlinux di destinazione.

Principio della vulnerabilità

Quando un thread non leader chiama exec(), de_thread() scambia il TID e chiama release_task(leader); la pulizia del timer POSIX viene collocata dopo diverse operazioni che possono fallire. Se exec fallisce, il nodo timerqueue del k_itimer già rilasciato rimane nella timerqueue del task ancora vivo, e la successiva pulizia dereferenzia nuovamente quel nodo causando una UAF.

Catena di exploit: il pool di thread oracle sfrutta la race condition → lo heap spray dell'AIO ring recupera l'oggetto UAF → elist divulga l'indirizzo del task → la pagina controllata costruisce un fake timer + fake cred → la rimozione dalla timerqueue con doppia scrittura inserisce il fake cred in task->cred → setresuid(0) ottiene una root shell.

Costanti di layout codificate in modo fisso (struttura 7.0)

k_itimer.it.cpu.elist        0xe0
k_itimer.it.cpu.handling     0xf0
k_itimer.it_interval         0x68
dimensione k_itimer          0x180
testa task_struct.cpu_timers 0xca0
task_struct.cred             0xd00
cred.uid/gid/euid/...        4/8/14/18/24/28/34/38
cred.cap_inh/prm/eff         0x30/0x40/0x50
cred.security                0x80
cred.user_ns                 0x90
dimensione cred              0xb8

Da correggere in base alla macchina di destinazione: indirizzi dei simboli (la divulgazione KASLR locale si autocalibra, non è necessario codificarli in modo fisso).

File

timer_lpe.c           programma principale
ic_timer_target.h     layout delle strutture (codificato in modo fisso)
ic_compat.h           wrapper delle syscall, primitive assembly AArch64
ic_util.h             utilità generiche
ic_shellcode_arm64.c  generatore di shellcode AArch64
ic_target.h           altri offset

Compilazione

export ANDROID_NDK_HOME=/path/to/ndk
$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang \
    -O2 -std=gnu11 -static -fno-stack-protector -fno-pic -no-pie \
    -I. timer_lpe.c ic_shellcode_arm64.c -o ic98260 \
    -Wl,--gc-sections -Wl,-z,norelro -pthread

English

Panoramica

Un'implementazione ARM64 della vulnerabilità del sottosistema Infinity Core Timer, mirata alla struttura del kernel della serie 7.0 (stessa struttura del codice di Ubuntu 26.04 7.0.0-30-generic). Catena completa di attivazione ed escalation. Gli offset chiave sono codificati in modo fisso per quel layout della struttura target; solo gli indirizzi dei simboli devono essere confrontati con il vmlinux target.

Causa principale

Quando un thread non leader chiama exec(), de_thread() scambia i TID e chiama release_task(leader); la pulizia dei timer POSIX si trova dietro diverse operazioni che possono fallire. Dopo un exec fallito, il nodo timerqueue del k_itimer liberato rimane nel timerqueue di un task attivo, e la pulizia successiva lo dereferenzia di nuovo.

Catena: race del pool di thread oracle → lo spray dell'anello AIO recupera l'oggetto UAF → elist perde l'indirizzo del task → timer falso e cred falso creati in una pagina controllata → l'unlink del timerqueue scrive due volte il cred falso in task->cred → setresuid(0) fornisce una shell root.

Layout codificato in modo fisso (struttura 7.0)

k_itimer.it.cpu.elist        0xe0
k_itimer.it.cpu.handling     0xf0
k_itimer.it_interval         0x68
sizeof(k_itimer)             0x180
testa task_struct.cpu_timers 0xca0
task_struct.cred             0xd00
cred.uid/gid/euid/...        4/8/14/18/24/28/34/38
cred.cap_inh/prm/eff         0x30/0x40/0x50
cred.security                0x80
cred.user_ns                 0x90
sizeof(cred)                 0xb8

Solo gli indirizzi dei simboli necessitano di regolazione per target; la perdita KASLR nel kernel si autocalibra.

File

timer_lpe.c           programma principale
ic_timer_target.h     layout delle strutture (codificato in modo fisso)
ic_compat.h           wrapper delle syscall, primitive assembly AArch64
ic_util.h             helper condivisi
ic_shellcode_arm64.c  emettitore di shellcode AArch64
ic_target.h           altri offset

Compilazione

export ANDROID_NDK_HOME=/path/to/ndk
$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang \
    -O2 -std=gnu11 -static -fno-stack-protector -fno-pic -no-pie \
    -I. timer_lpe.c ic_shellcode_arm64.c -o ic98260 \
    -Wl,--gc-sections -Wl,-z,norelro -pthread
Scarica lo strumento