
Huawei P10 VTR-L29C432B151 Ricerca sull'exploit CVE-2017-8890 e percorso di sblocco del bootloader
Questo repository documenta un progetto di ricerca autorizzato dal proprietario che ha portato CVE-2017-8890 su un firmware Huawei P10, ha convertito la use-after-free del kernel in lettura/scrittura arbitraria del kernel e root temporanea, ha ricostruito il journal NVE di Huawei, ha installato una credenziale di bootloader sostitutiva tramite il driver NVE legittimo e ha verificato che fastboot accettasse il codice plaintext scelto.
Il target testato era:
4.1.18-gbed9f04Questo non è uno sbloccatore universale per P10. Il profilo del kernel incluso contiene indirizzi assoluti per quella specifica build. Usandolo su un altro kernel si può causare un panic del telefono e potenzialmente corrompere lo storage persistente. Anche gli aggiornamenti del firmware possono modificare il profilo, anche quando il modello commerciale rimane invariato.
La narrazione completa, sicura per la pubblicazione, è disponibile come rapporto PDF.
La catena che ha avuto successo è stata:
CVE-2017-8890 multicast UAF
-> controlled overlap with ip_mc_socklist
-> forced RCU grace period in the exploit's address space
-> AArch64 JOP arbitrary store
-> ptmx_fops.check_flags temporarily redirected
-> address limit widened to KERNEL_DS
-> pipe-based arbitrary kernel read/write
-> check_flags restored
-> current task credentials and SELinux SID patched
-> protected NVME partition acquired
-> replacement SHA-256 verifier written with /dev/nve0
-> complete 128 KiB generation read back and compared
-> controlled reboot
-> fastboot unlock accepted the chosen plaintext
La credenziale del bootloader è sopravvissuta a un successivo aggiornamento ufficiale ad Android 8 / EMUI 8, anche se il bootloader è stato nuovamente bloccato, e lo stesso plaintext scelto lo ha sbloccato di nuovo. Ciò indica che la credenziale risiede nei dati NVE persistenti del dispositivo piuttosto che nel sistema Android o nell'immagine di avvio.
exploit/CVE-2017-8890/1003/ modified exploit implementation
utils/ GPLv3 androotzf support code
jni/ Android NDK build files
tools/p10_nve_journal.py read-only inspector and offline candidate builder
docs/exploit-development.md technical exploit journey
docs/nve-format.md Huawei NVE journal and credential semantics
docs/reproduction.md staged reproduction procedure
report/ redacted long-form PDF
Non è incluso alcun exploit compilato, immagine del firmware, dump della partizione, immagine di boot, utilità commerciale proprietaria, codice di sblocco, identificatore del dispositivo o digest della credenziale derivata dal dispositivo.
L'exploit ha avuto inizio con l'implementazione GPLv3 idhyt/androotzf al commit 63dfe5556e1a8cdbf6a2d3dd0ee929b07bfb48b7. Questo repository conserva gli avvisi di copyright upstream e la licenza GPLv3. Le modifiche per l'affidabilità su P10 B151, diagnostica, lettura/scrittura del kernel, root temporanea, dump delle partizioni e transazioni NVE protette sono identificate come modifiche apportate durante questo progetto di ricerca nel luglio 2026.
Vedi NOTICE.md per i dettagli sull'attribuzione e sulle modifiche.
Usa questo lavoro solo su hardware di tua proprietà o per il quale sei esplicitamente autorizzato a eseguire test. Lo sblocco del bootloader cancella i dati utente. L'exploit corrompe deliberatamente oggetti del kernel e normalmente causa un panic di pulizia successivo, a meno che non raggiunga un percorso di riavvio controllato. Non ci sono garanzie e non è garantito alcun ripristino.