
Huawei P10 VTR-L29C432B151 CVE-2017-8890 Exploit-Forschung und die Reise zur Bootloader-Entsperrung
Dieses Repository dokumentiert ein vom Eigentümer autorisiertes Forschungsprojekt, das CVE-2017-8890 auf eine Huawei-P10-Firmware portierte, den Kernel-Use-after-Free in beliebiges Kernel-Lesen/-Schreiben und temporäres Root umwandelte, Huaweis NVE-Journal rekonstruierte, über den legitimen NVE-Treiber ein Ersatz-Bootloader-Credential installierte und verifizierte, dass Fastboot den gewählten Klartextcode akzeptierte.
Das getestete Zielsystem war:
4.1.18-gbed9f04Dies ist kein universeller P10-Entsperrer. Das enthaltene Kernel-Profil enthält absolute Adressen für genau diesen Build. Die Verwendung auf einem anderen Kernel kann einen Kernel-Panic auf dem Telefon auslösen und persistenten Speicher beschädigen. Firmware-Upgrades können das Profil auch dann verändern, wenn das Marketingmodell unverändert bleibt.
Die vollständige, öffentlich unbedenkliche Darstellung ist als PDF-Bericht verfügbar.
Die erfolgreiche Kette war:
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
Das Bootloader-Credential überstand ein späteres offizielles Android-8-/EMUI-8-Upgrade, obwohl der Bootloader wieder gesperrt wurde, und derselbe gewählte Klartext entsperrte ihn erneut. Dies deutet darauf hin, dass das Credential in persistenten NVE-Daten des Geräts liegt und nicht im Android-System oder im Boot-Image.
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
Es ist kein kompilierter Exploit, kein Firmware-Image, kein Partitions-Dump, kein Boot-Image, kein proprietäres kommerzielles Dienstprogramm, kein Entsperrcode, keine Gerätekennung und kein vom Gerät abgeleiteter Credential-Digest enthalten.
Der Exploit ging aus der GPLv3-Implementierung von idhyt/androotzf in Commit 63dfe5556e1a8cdbf6a2d3dd0ee929b07bfb48b7 hervor. Dieses Repository behält die Copyright-Hinweise des Upstream-Projekts und die GPLv3-Lizenz bei. Die Änderungen für P10-B151-Zuverlässigkeit, Diagnose, Kernel-Read/Write, temporäres Root, Partitions-Dump und abgesicherte NVE-Transaktionen sind als Modifikationen gekennzeichnet, die während dieses Forschungsprojekts im Juli 2026 vorgenommen wurden.
Siehe NOTICE.md für Details zu Urheberschaft und Modifikationen.
Verwenden Sie diese Arbeit nur auf Hardware, die Ihnen gehört oder für die Sie ausdrücklich zum Testen autorisiert sind. Das Entsperren des Bootloaders löscht Benutzerdaten. Der Exploit beschädigt absichtlich Kernel-Objekte und verursacht normalerweise später einen Aufräum-Panic, sofern er keinen kontrollierten Neustartpfad erreicht. Es gibt keine Garantie und keine Gewährleistung für eine Wiederherstellung.