Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-21018 — إثبات مفهوم (PoC) بسيط لـ CVE-2026-21018، يوضح كيفية عمله. | Kitploit
أدوات/GitHubGitHub/filipemendonca1978/cve-2026-21018
أمان أندرويدتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقأمن الجوالالتعلم والتعليماستغلال الملفات الثنائية
GitHubfilipemendonca1978/cve-2026-21018

CVE-2026-21018

إثبات مفهوم (PoC) بسيط لـ CVE-2026-21018، يوضح كيفية عمله.

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

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

تجاوز سعة المخزن المؤقت في SveService

Português English


Samsung SMR May 2026

SVE-2026-0478(CVE-2026-21018)

Affected versions: Android 14, 15, 16

Disclosure status: Privately disclosed

Out-of-bounds write in SveService prior to SMR May-2026 Release 1 allows local privileged attackers to execute arbitrary code.

The patch adds proper input validation.


تحذير: هذا إثبات مفهوم (PoC) لأغراض تعليمية فقط، ولست مسؤولاً عن أي شيء تفعله خارج نطاق الدراسة. لقد تم تحذيرك.

تم اختبار هذا على Galaxy A17 LTE (SM-A175F)


الإنجليزية

الملخص

ثغرة تجاوز سعة المخزن المؤقت في خدمة النظام SveService (com.sec.sve) على أجهزة سامسونج التي تعمل بنظام Android 16. تعمل الخدمة كمستخدم system (UID 1000) ويمكن الوصول إليها بدون أي إذن خاص عبر Binder.

المكونات

المكوّنالدورالإصدار
sveservice.apkخدمة أندرويدAPI 36
libsvejni.soمكتبة ARM64 أصليةمعرّف البناء: 0a71afa45f8688b4314ed8e5a0aea8b9

الثغرة

في الدالة sveJNISVE_SetCodecInfo (libsvejni.so:0x21710)، تُمرَّر المعاملات i18 وi19 وi20 (المستلمة من AIDL بصيغة i106/i107/i108، TRANSACTION_sveSetCodecInfo = 38) مباشرة إلى memset وsub sp, sp, xN (alloca) وmemcpy بدون أي تحقق من الحجم.

الدوال المماثلة (GetVersion, EnableSRTP, SetSRTPParams, SetGcmSrtpParams) تتحقق باستخدام cmp w20, #0x1e; b.gt (ترفض > 30 بايت). بينما لا تقوم SetCodecInfo بأي تحقق على الإطلاق.

تدفق الاستدعاء

root@kitploit:~
App/Script
  → ServiceManager.getService("SveService")
  → transact(38, parcel, ...)
  → ISecVideoEngineService$Stub.onTransact()
  → SecVideoEngineImpl.sveSetCodecInfo()
  → SveJniProxy.sveJNISVE_SetCodecInfo()
  → libsvejni.so: Java_com_samsung_sve_sveJNI_sveJNISVE_SetCodecInfo
       ├── memset(dst, 0, i18)
       ├── sub sp, sp, (i19+15)&~15
       ├── memset(dst, 0, i19)
       ├── sub sp, sp, (i20+15)&~15
       ├── memset(dst, 0, i20)
       ├── memcpy(dst, src, i18)
       ├── memcpy(dst, src, i19)
       └── memcpy(dst, src, i20)

القيم مع -1 (0xFFFFFFFF)

دليل الانهيار (Tombstone 07)

root@kitploit:~
Cause: stack pointer is in a non-existent map; likely due to stack overflow.
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

#00  __memset_aarch64+160       libc.so
#01  sveJNISVE_SetCodecInfo+504 libsvejni.so (offset 0x21908)

x2  00000000ffffffff   ← memset count = 4GB
x24 00000000ffffffff   ← i18 = -1
sp  000000707f5f7610   ← SP in invalid region
x29 000000717f5f7710   ← original frame pointer

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

root@kitploit:~
cd poc
./build_and_run.sh

المخرجات المتوقعة:

root@kitploit:~
[*] Phase 1: valid call (1,1,1)...
[+] Returned: 0
[*] Phase 2: i106=-1...
[!] Exception: DeadObjectException: null
[+] SveService CRASHED - overflow confirmed

ملاحظات

  • لا يتطلب صلاحيات الجذر: ServiceManager.getService() عبر app_process يعمل بصلاحيات shell UID.
  • تجاوز الأذونات: إذن signatureOrSystem غير مُفعّل — الخدمة مسجلة عبر ServiceManager.addService() مباشرة، متجاوزةً آلية أذونات أندرويد.
  • الانهيار حتمي: memset بقيمة 0xFFFFFFFF يسبب انهيارًا دائمًا. يتطلب RCE تسريب عنوان + ROP (PAC غير موجود على SM-A175F).

البرتغالية

الملخص

ثغرة تجاوز سعة المخزن المؤقت في خدمة النظام SveService (com.sec.sve) على أجهزة سامسونج التي تعمل بنظام Android 16. تعمل الخدمة كمستخدم system (UID 1000) ويمكن الوصول إليها بدون أي إذن خاص عبر Binder.

المكونات

المكوّنالدورالإصدار
sveservice.apkخدمة أندرويدAPI 36
libsvejni.soمكتبة ARM64 أصليةمعرّف البناء: 0a71afa45f8688b4314ed8e5a0aea8b9

الثغرة

في الدالة sveJNISVE_SetCodecInfo (libsvejni.so:0x21710)، تُمرَّر المعاملات i18 وi19 وi20 (المستلمة من AIDL بصيغة i106/i107/i108، TRANSACTION_sveSetCodecInfo = 38) مباشرة إلى memset وsub sp, sp, xN (alloca) وmemcpy بدون أي تحقق من الحجم.

الدوال المماثلة (GetVersion, EnableSRTP, SetSRTPParams, SetGcmSrtpParams) تتحقق باستخدام cmp w20, #0x1e; b.gt (ترفض > 30 بايت). بينما لا تقوم SetCodecInfo بأي تحقق على الإطلاق.

تدفق الاستدعاء

root@kitploit:~
App/Script
  → ServiceManager.getService("SveService")
  → transact(38, parcel, ...)
  → ISecVideoEngineService$Stub.onTransact()
  → SecVideoEngineImpl.sveSetCodecInfo()
  → SveJniProxy.sveJNISVE_SetCodecInfo()
  → libsvejni.so: Java_com_samsung_sve_sveJNI_sveJNISVE_SetCodecInfo
       ├── memset(dst, 0, i18)
       ├── sub sp, sp, (i19+15)&~15
       ├── memset(dst, 0, i19)
       ├── sub sp, sp, (i20+15)&~15
       ├── memset(dst, 0, i20)
       ├── memcpy(dst, src, i18)
       ├── memcpy(dst, src, i19)
       └── memcpy(dst, src, i20)

القيم مع -1 (0xFFFFFFFF)

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

root@kitploit:~
cd poc
./build_and_run.sh

المخرجات المتوقعة:

root@kitploit:~
[*] Phase 1: valid call (1,1,1)...
[+] Returned: 0
[*] Phase 2: i106=-1...
[!] Exception: DeadObjectException: null
[+] SveService CRASHED - overflow confirmed

ملاحظات

  • لا يتطلب صلاحيات الجذر: ServiceManager.getService() عبر app_process يعمل بصلاحيات shell UID.
  • تجاوز الأذونات: إذن signatureOrSystem غير مُفعّل — الخدمة مسجلة عبر ServiceManager.addService() مباشرة، متجاوزةً آلية أذونات أندرويد.
  • الانهيار حتمي: memset بقيمة 0xFFFFFFFF يسبب انهيارًا دائمًا. يتطلب RCE تسريب عنوان + ROP (PAC غير موجود على SM-A175F).
تنزيل الأداة
العمليةالقيمةالتأثير
(i18 + 15) & ~150يخصّص 0 بايت
memset(buf, 0, i18)0x00000000FFFFFFFFيحاول تصفير 4 جيجابايت → SIGSEGV
sxtw(i18) لـ memcpy0xFFFFFFFFFFFFFFFFتوسيع إشارة لـ -1 → ~18 إكسابايت
العمليةالقيمةالتأثير
(i18 + 15) & ~150يخصّص 0 بايت
memset(buf, 0, i18)0x00000000FFFFFFFFيحاول تصفير 4 جيجابايت → SIGSEGV
sxtw(i18) لـ memcpy0xFFFFFFFFFFFFFFFFتوسيع إشارة لـ -1 → ~18 إكسابايت