GhostLock AAK Launcher
CVE-2026-43499 · Linux kernel rtmutex stack Use-After-Free élévation de privilèges locale (LPE) chargeur/déclencheur
Ce dépôt est un projet de recherche en sécurité et de validation de vulnérabilité (PoC), destiné à démontrer et valider le processus de déclenchement de la vulnérabilité CVE-2026-43499 (GhostLock) dans un environnement de test contrôlé.
Présentation du projet
Il s'agit d'une application Android (APK) « chargeur/déclencheur » conçue pour être utilisée avec un preload.so externe.
- Vulnérabilité cible : CVE-2026-43499 (Linux kernel kernel/locking/rtmutex.c, stack UAF)
- Fonction : obtenir les privilèges shell (uid 2000) via Shizuku, écrire le preload.so externe dans /data/local/tmp/preload.so, puis l'injecter dans /system/bin/sh via LD_PRELOAD, déclenchant ainsi l'exécution de la chaîne d'exploitation complète par le constructeur run_exploit() de preload.so.
- Objet de validation : Honor AAK-AN00 · MagicOS 10 / Android 15 · noyau 6.6.89-android15-8
Points techniques
- Sélection correcte de l'environnement déclencheur avec les permissions shell (uid 2000), évitant l'interception des opérations futex PI par le sandbox untrusted_app Seccomp=2
- Injection LD_PRELOAD, sans modification du code du processus hôte
- Lecture parallèle de stdout/stderr par deux threads, évitant le blocage du pipe
- Conforme au mode officiel Shizuku UserService, avec rappel de journal en temps réel
Pour une explication plus détaillée du principe de la vulnérabilité et de la chaîne d'exploitation, voir EXPLOIT_CN.md.
État actuel (important)
⚠️ Ce dépôt se trouve actuellement dans un état « insuffisamment validé ».
- Ce projet n'a pas fait l'objet de tests systématiques et étendus sur appareils réels. La question de savoir si le déclenchement de la vulnérabilité peut réussir de manière stable sur un appareil/firmware/version de noyau spécifique est actuellement inconnue (Unknown / Unverified).
- Le taux de réussite du déclenchement dépend de nombreux facteurs d'ingénierie, par exemple :
- Brute force du KASLR slide : l'énumération de la randomisation d'adresses peut échouer
- Offsets codés en dur : la table d'offsets dépend d'une version de firmware spécifique (6.6.89-android15-8) ; des correctifs de fabricants différents ou des compilations de noyau différentes peuvent présenter des écarts
- Correctifs de sécurité des fabricants : si l'appareil a déjà appliqué les correctifs concernés, la vulnérabilité peut avoir été atténuée
- Par conséquent, ce dépôt ne garantit pas que la reproduction ou l'exploitation réussisse sur un appareil quelconque.
- Veuillez effectuer la validation sur un appareil de test contrôlé et isolé ; ne l'utilisez jamais en environnement de production ni sur l'appareil d'autrui.
Aperçu de l'état
| Élément | État |
|---|
| Authenticité de la vulnérabilité (CVE-2026-43499) | Confirmée par l'autorité du NVD |
| Principe de conception du code source | Logique cohérente, implémentation d'ingénierie conforme |
| Taux de réussite sur appareils réels | Inconnu / non vérifié |
| Compatibilité multi-firmware | Non vérifiée (dépend d'offsets codés en dur) |
| Élévation de privilèges possible sur n'importe quel appareil | Non garantie |
Instructions d'utilisation
Usage réservé à un environnement de recherche autorisé et contrôlé.
- Installer et lancer Shizuku (v11+)
- Installer cet APK, puis appuyer sur « Demander l'autorisation Shizuku »
- Sélectionner le fichier preload.so à injecter
- Appuyer sur « Exécuter l'Exploit » et observer la sortie des journaux
Voir le tableau des points d'observation de débogage dans EXPLOIT_CN.md.
Avis de non-responsabilité (Disclaimer)
Ce logiciel est fourni « en l'état » (AS IS), sans aucune garantie expresse ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et d'absence de contrefaçon.
- Ce dépôt est destiné uniquement à la recherche en sécurité, à l'analyse de vulnérabilités et à des fins éducatives.
- L'utilisateur doit s'assurer qu'il utilise ce logiciel dans le cadre d'une autorisation légale et assume l'ensemble des risques et responsabilités juridiques découlant de son utilisation.
- L'auteur décline toute responsabilité pour tout dommage direct, indirect, accessoire ou consécutif (y compris, mais sans s'y limiter, l'endommagement d'appareils, la perte de données, l'instabilité du système, la modification illégale de comptes ou de privilèges, les litiges juridiques, etc.) résultant de l'utilisation de ce logiciel.
- Ce logiciel ne doit être utilisé à aucune fin illégale, y compris, mais sans s'y limiter, l'accès non autorisé, les attaques malveillantes, le vol de données ou la destruction de systèmes d'autrui.
- L'utilisateur doit respecter l'ensemble des lois et réglementations applicables de sa juridiction et de la juridiction à laquelle appartient le système cible.
En téléchargeant, utilisant ou distribuant ce logiciel, vous reconnaissez avoir lu, compris et accepté l'intégralité des termes du présent avis de non-responsabilité.
Mention légale (Legal Notice)
1. Technologie à double usage (Dual-Use)
Ce dépôt contient du code lié à l'exploitation de vulnérabilités, qui relève d'une technologie à double usage (dual-use), pouvant servir à la fois à la recherche légitime en sécurité et à la défense, mais aussi être détournée à des fins d'attaque. La distribution de ce type de technologie doit respecter le principe de divulgation responsable (Responsible Disclosure).
2. Coordination de la divulgation des vulnérabilités
- La vulnérabilité s'est vu attribuer l'identifiant CVE-2026-43499, commit de correction : rtmutex: Use waiter::task instead of current in remove_waiter().
- Il est recommandé de signaler en priorité la vulnérabilité au fournisseur/à la communauté du noyau via les canaux officiels, et de consulter les avis de sécurité officiels afin de mettre à jour rapidement les systèmes concernés.
- Les différents pays et régions appliquent des dispositions légales distinctes concernant la distribution et l'utilisation de code d'exploitation de vulnérabilités et d'outils de test d'intrusion (par exemple, dans certaines juridictions, la « Loi sur la cybersécurité », la « Loi sur la sécurité des données », le « Règlement sur la protection de la sécurité des systèmes d'information informatiques », ainsi que les dispositions pénales/civiles de divers pays relatives à l'accès non autorisé).
- Avant d'utiliser ou de distribuer ce logiciel, veuillez impérativement vérifier la réglementation applicable dans votre juridiction. Une utilisation ou une diffusion illégale peut constituer une infraction pénale.
4. Condition d'autorisation
- Les tests ne sont autorisés que sur des systèmes/équipements dont vous êtes le propriétaire légitime ou pour lesquels vous disposez d'une autorisation écrite.
- Des tests non autorisés peuvent enfreindre la loi et porter atteinte aux droits d'autrui.
Licence
Ce projet est publié en open source sous GNU General Public License v3.0 (GPLv3). Voir LICENSE pour plus de détails.
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.