Lanceur GhostLock AAK
CVE-2026-43499 · Élévation de privilèges locale (LPE) Use-After-Free de la pile rtmutex du noyau Linux — 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 (kernel/locking/rtmutex.c du noyau Linux, UAF de pile)
- Fonction : obtient les privilèges shell (uid 2000) via Shizuku, écrit le preload.so externe dans /data/local/tmp/preload.so, puis l'injecte dans /system/bin/sh avec LD_PRELOAD, déclenchant la fonction constructeur run_exploit() du preload.so pour exécuter la chaîne d'exploitation complète.
- Objet de validation : Honor AAK-AN00 · MagicOS 10 / Android 15 · noyau 6.6.89-android15-8
Points techniques
- Sélection correcte de l'environnement de déclenchement avec privilèges shell (uid 2000), contournant l'interception des opérations futex PI par le Seccomp=2 du bac à sable untrusted_app
- Injection LD_PRELOAD, sans modification du code du processus hôte
- Lecture parallèle double-thread de stdout/stderr pour éviter les blocages de pipe
- Conformité au modèle officiel Shizuku UserService, avec rappels de journalisation 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 est actuellement dans un état « non suffisamment validé ».
- Ce projet n'a pas fait l'objet de tests systématiques et étendus sur appareils réels. La réussite stable du déclenchement de la vulnérabilité sur un appareil/firmware/version de noyau spécifique est actuellement inconnue (Unknown / Unverified).
- Le taux de réussite du déclenchement est influencé par plusieurs facteurs techniques, notamment :
- Bruteforce du slide KASLR : l'énumération aléatoire des adresses peut échouer
- Décalages codés en dur : la table de décalages dépend d'une version de firmware spécifique (6.6.89-android15-8) ; les correctifs des différents fabricants et les différentes constructions du noyau peuvent présenter des différences
- Correctifs de sécurité des fabricants : si l'appareil a déjà appliqué les correctifs associé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éussira sur quelque appareil que ce soit.
- Veuillez effectuer la validation sur des appareils de test contrôlés et isolés ; ne l'utilisez jamais en environnement de production ou sur les appareils d'autrui.
Aperçu de l'état
Instructions d'utilisation
Réservé exclusivement aux environnements de recherche autorisés et contrôlés.
- Installez et lancez Shizuku (v11+)
- Installez cet APK, puis cliquez sur « Demander l'autorisation Shizuku »
- Sélectionnez le fichier preload.so à injecter
- Cliquez sur « Exécuter l'exploit » et observez la sortie des journaux
Voir le tableau des points d'observation de débogage dans EXPLOIT_CN.md.
Avertissement (Disclaimer)
Ce logiciel est fourni « en l'état » (AS IS), sans aucune garantie expresse ou implicite, y compris, sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-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'intégralité des risques et responsabilités légales découlant de son utilisation.
- L'auteur décline toute responsabilité en cas de dommages directs, indirects, accessoires ou consécutifs résultant de l'utilisation de ce logiciel (y compris, sans s'y limiter, les dommages matériels, la perte de données, l'instabilité du système, la modification illégale de comptes ou de privilèges, les litiges juridiques, etc.).
- Ce logiciel ne doit pas être utilisé à des fins illégales, y compris, sans s'y limiter, l'accès non autorisé, les attaques malveillantes, le vol de données ou la compromission de systèmes tiers.
- L'utilisateur doit se conformer à toutes les lois et réglementations applicables de sa juridiction et de celle du système cible.
En téléchargeant, utilisant ou distribuant ce logiciel, vous reconnaissez avoir lu, compris et accepté l'intégralité des termes de cet avertissement.
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, relevant d'une technologie à double usage (dual-use), pouvant servir aussi bien à la recherche en sécurité légitime et à la défense qu'à des attaques malveillantes. La distribution de telles technologies doit respecter le principe de divulgation responsable (Responsible Disclosure).
2. Coordination de la divulgation de la vulnérabilité
- Cette vulnérabilité a reçu l'identifiant CVE-2026-43499 ; correctif : rtmutex: Use waiter::task instead of current in remove_waiter().
- Il est recommandé de signaler en priorité au fabricant/à la communauté du noyau via les canaux officiels, et de suivre les bulletins de sécurité officiels pour mettre à jour rapidement les systèmes concernés.
- Différents pays et régions ont des dispositions légales différentes concernant la distribution et l'utilisation de code d'exploitation de vulnérabilités et d'outils de test d'intrusion (par exemple, la loi sur la cybersécurité, la loi sur la sécurité des données, le règlement sur la protection des systèmes d'information informatiques dans certaines juridictions, ainsi que les dispositions pénales/civiles relatives à l'accès non autorisé dans divers pays).
- Avant d'utiliser ou de distribuer ce logiciel, assurez-vous de vérifier les réglementations applicables dans votre juridiction. Une utilisation ou une diffusion illégale peut constituer une infraction pénale ou civile.
4. Conditions préalables d'autorisation
- Les tests sont autorisés uniquement sur des systèmes/appareils dont vous détenez légalement la propriété ou pour lesquels vous avez obtenu une autorisation écrite.
- Les tests non autorisés peuvent enfreindre la loi et porter atteinte aux droits d'autrui.
Licence
Ce projet est publié en open source sous la 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.
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.
- La publication publique de ce type de code lié à l'exploitation de vulnérabilités comporte des risques d'utilisation abusive, de signalement ou de retrait ; évaluez la portée de la distribution avant de décider.
- Il est recommandé de suivre en continu les règles de la communauté GitHub et les politiques relatives à la recherche en sécurité.
- N'utilisez pas ce dépôt pour des activités malveillantes.
Ce dépôt est destiné uniquement à la recherche sur les vulnérabilités et à des fins éducatives. Veuillez l'utiliser de manière conforme et responsable.