GhostLock AAK Launcher
CVE-2026-43499 · Linux kernel rtmutex stack Use-After-Free escalatione locale dei privilegi (LPE) loader/trigger
Questo repository è un progetto di ricerca sulla sicurezza e di verifica delle vulnerabilità (PoC), utilizzato per dimostrare e verificare il flusso di attivazione della vulnerabilità CVE-2026-43499 (GhostLock) in un ambiente di test controllato.
Introduzione al progetto
Questa è un'applicazione Android (APK) "loader/trigger" da utilizzare insieme a un preload.so esterno.
- Vulnerabilità target: CVE-2026-43499 (Linux kernel kernel/locking/rtmutex.c, stack UAF)
- Funzione: ottenere i permessi di shell (uid 2000) tramite Shizuku, scrivere il preload.so esterno in /data/local/tmp/preload.so e iniettarlo in /system/bin/sh tramite LD_PRELOAD, attivando il costruttore run_exploit() di preload.so per eseguire la catena di exploit completa.
- Oggetto di verifica: Honor (Honor) AAK-AN00 · MagicOS 10 / Android 15 · kernel 6.6.89-android15-8
Punti tecnici
- Selezionare correttamente l'ambiente che attiva i permessi shell (uid 2000), evitando l'intercettazione delle operazioni futex PI da parte di Seccomp=2 nella sandbox untrusted_app
- Iniezione LD_PRELOAD, senza necessità di modificare il codice del processo host
- Lettura parallela di stdout/stderr con due thread, per prevenire deadlock della pipe
- Segue il modello ufficiale Shizuku UserService, con callback dei log in tempo reale
Per una spiegazione più dettagliata del principio della vulnerabilità e della catena di exploit, vedere EXPLOIT_CN.md.
Stato attuale (importante)
⚠️ Questo repository si trova attualmente in uno stato "non sufficientemente verificato".
- Questo progetto non è stato sottoposto a test sistematici ed estesi su dispositivi reali. Se l'attivazione della vulnerabilità possa riuscire in modo stabile su specifici dispositivi/firmware/versioni del kernel è attualmente sconosciuto (Unknown / Unverified).
- Il tasso di successo dell'attivazione è influenzato da molteplici fattori ingegneristici, ad esempio:
- Brute force dello slide KASLR: l'enumerazione della randomizzazione degli indirizzi potrebbe fallire
- Offset hardcoded: la tabella degli offset dipende da una specifica versione del firmware (6.6.89-android15-8); patch di produttori diversi e build del kernel diverse potrebbero presentare differenze
- Patch di sicurezza del produttore: se il dispositivo ha già applicato le correzioni pertinenti, la vulnerabilità potrebbe essere già mitigata
- Pertanto, questo repository non garantisce che la riproduzione o l'exploit riesca su qualsiasi dispositivo.
- Verificare su dispositivi di test controllati e isolati; non utilizzare in ambienti di produzione o su dispositivi altrui.
Panoramica dello stato
| Voce | Stato |
|---|
| Autenticità della vulnerabilità (CVE-2026-43499) | Confermata autorevolmente da NVD |
| Principio di progettazione del codice sorgente | Logicamente coerente, implementazione ingegneristica standard |
| Tasso di successo nei test su dispositivi reali | Sconosciuto / Non verificato |
| Compatibilità multi-firmware | Non verificata (dipende da offset hardcoded) |
| Possibilità di escalation dei privilegi su qualsiasi dispositivo | Non garantita |
Istruzioni per l'uso
Solo per uso in ambienti di ricerca autorizzati e controllati.
- Installare e avviare Shizuku (v11+)
- Installare questa APK e toccare "Richiedi autorizzazione Shizuku"
- Selezionare il file preload.so da iniettare
- Toccare "Esegui Exploit" e osservare l'output del log
Per i dettagli, vedere la tabella dei punti di osservazione per il debug in EXPLOIT_CN.md.
Disclaimer
Questo software è fornito "così com'è" (AS IS), senza alcuna garanzia esplicita o implicita, incluse, a titolo esemplificativo ma non esaustivo, le garanzie di commerciabilità, idoneità per uno scopo particolare e non violazione.
- Questo repository è destinato esclusivamente a ricerca sulla sicurezza, analisi delle vulnerabilità e scopi educativi.
- Gli utenti devono assicurarsi di utilizzare questo software nell'ambito di un'autorizzazione legale e si assumono tutti i rischi e le responsabilità legali derivanti dall'uso di questo software.
- L'autore non è responsabile per qualsiasi danno diretto, indiretto, incidentale o consequenziale (inclusi, a titolo esemplificativo ma non esaustivo, danni al dispositivo, perdita di dati, instabilità del sistema, manomissione illegale di account o permessi, controversie legali, ecc.) causato dall'uso di questo software.
- Questo software non deve essere utilizzato per alcuno scopo illegale, inclusi, a titolo esemplificativo ma non esaustivo, accesso non autorizzato, attacchi malevoli, furto di dati o danneggiamento di sistemi altrui.
- Gli utenti devono rispettare tutte le leggi e i regolamenti applicabili nella loro giurisdizione e in quella del sistema target.
Scaricando, utilizzando o distribuendo questo software, dichiari di aver letto, compreso e accettato tutti i termini del presente disclaimer.
Avviso legale (Legal Notice)
1. Tecnologia a duplice uso (Dual-Use)
Questo repository contiene codice relativo allo sfruttamento di vulnerabilità, che costituisce una tecnologia a duplice uso (dual-use), potendo servire sia alla ricerca e alla difesa legittime sulla sicurezza, sia essere utilizzata impropriamente per attacchi. La distribuzione di tale tecnologia deve seguire il principio della divulgazione responsabile (Responsible Disclosure).
2. Coordinamento della divulgazione delle vulnerabilità
- A questa vulnerabilità è stato assegnato l'identificativo CVE-2026-43499, commit di correzione: rtmutex: Use waiter::task instead of current in remove_waiter().
- Si consiglia di segnalarla in via prioritaria ai vendor/alla community del kernel tramite i canali ufficiali e di monitorare i bollettini di sicurezza ufficiali, aggiornando tempestivamente i sistemi interessati.
- Paesi e regioni diversi prevedono normative differenti in materia di distribuzione e utilizzo di codice di exploit e strumenti di penetration testing (ad esempio, in alcune giurisdizioni, la "Legge sulla sicurezza informatica", la "Legge sulla sicurezza dei dati", il "Regolamento sulla protezione della sicurezza dei sistemi informatici", nonché le disposizioni penali/civili nazionali in materia di accesso non autorizzato).
- Prima di utilizzare o distribuire questo software, è indispensabile verificare le normative vigenti nella propria giurisdizione. L'uso o la diffusione illegale può costituire reato.
4. Presupposto dell'autorizzazione
- I test sono consentiti esclusivamente su sistemi/dispositivi di cui si possiede la legittima proprietà o per i quali si è ottenuta un'autorizzazione scritta.
- I test non autorizzati possono violare la legge e costituire una lesione dei diritti altrui.
Licenza
Questo progetto è rilasciato come open source con licenza GNU General Public License v3.0 (GPLv3). Per i dettagli, vedere LICENSE.
Copyright (C) 2026 oopnv70-lab
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
Dichiarazione sulle risorse di terze parti