Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-21018 — A minimal PoC for CVE-2026-21018, demonstrating how it works | Kitploit
उपकरण/GitHubGitHub/filipemendonca1978/cve-2026-21018
Android SecurityVulnerability AnalysisExploitationPenetration TestingMobile SecurityLearning & EducationBinary Exploitation
GitHubfilipemendonca1978/cve-2026-21018

CVE-2026-21018

A minimal PoC for CVE-2026-21018, demonstrating how it works

रिपॉजिटरी देखें
11 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

SveService बफर ओवरफ़्लो

Português English


Samsung SMR May 2026

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

प्रभावित संस्करण: Android 14, 15, 16

खुलासा स्थिति: निजी रूप से खुलासा

SveService में SMR May-2026 Release 1 से पहले आउट-ऑफ-बाउंड राइट स्थानीय विशेषाधिकार प्राप्त हमलावरों को मनमाना कोड निष्पादित करने की अनुमति देता है।

पैच उचित इनपुट सत्यापन जोड़ता है।


चेतावनी: यह केवल शैक्षिक उद्देश्यों के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) है, मैं किसी भी ऐसी चीज़ के लिए ज़िम्मेदार नहीं हूँ जो आप अध्ययन के अलावा करते हैं। आपको चेतावनी दी गई है।

इसका परीक्षण Galaxy A17 LTE (SM-A175F) पर किया गया था।


अंग्रेज़ी

सारांश

Android 16 चलाने वाले Samsung उपकरणों पर सिस्टम सेवा SveService (com.sec.sve) में बफर ओवरफ़्लो कमज़ोरी। यह सेवा system (UID 1000) के रूप में चलती है और Binder के माध्यम से बिना किसी विशेष अनुमति के पहुँच योग्य है।

घटक

घटकभूमिकासंस्करण
sveservice.apkAndroid सेवाAPI 36
libsvejni.soमूल ARM64 लाइब्रेरीBuild ID: 0a71afa45f8688b4314ed8e5a0aea8b9

कमज़ोरी

memset, sub sp, sp, xN (alloca), और memcpy में बिना किसी आकार सत्यापन के सीधे पैरामीटर i18, i19, i20 (AIDL से i106/i107/i108 के रूप में प्राप्त, TRANSACTION_sveSetCodecInfo = 38) का उपयोग किया जाता है।

समान फ़ंक्शन (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() via app_process शेल UID के रूप में काम करता है।
  • अनुमति को दरकिनार: signatureOrSystem अनुमति लागू नहीं की गई है — सेवा सीधे ServiceManager.addService() के माध्यम से पंजीकृत है, जो Android की अनुमति तंत्र को दरकिनार करता है।
  • क्रैश अपरिहार्य: memset 0xFFFFFFFF के साथ हमेशा क्रैश करता है। RCE के लिए पता लीक + ROP (SM-A175F पर PAC अनुपस्थित) की आवश्यकता होगी।

Português

Resumo

Vulnerabilidade de buffer overflow no serviço de sistema SveService (com.sec.sve) em dispositivos Samsung com Android 16. O serviço roda como system (UID 1000) e é acessível sem qualquer permissão especial via Binder.

Componentes

ComponentePapelVersão
sveservice.apkServiço AndroidAPI 36
libsvejni.soBiblioteca nativa ARM64Build ID: 0a71afa45f8688b4314ed8e5a0aea8b9

A Vulnerabilidade

Na função sveJNISVE_SetCodecInfo (libsvejni.so:0x21710), os parâmetros i18, i19, i20 (recebidos da AIDL como i106/i107/i108, TRANSACTION_sveSetCodecInfo = 38) são usados diretamente como argumentos para memset, sub sp, sp, xN (alloca) e memcpy sem qualquer validação de tamanho.

Outras funções similares (GetVersion, EnableSRTP, SetSRTPParams, SetGcmSrtpParams) validam com cmp w20, #0x1e; b.gt (rejeitam > 30 bytes). SetCodecInfo não valida nada.

Fluxo da Chamada

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)

Valores com -1 (0xFFFFFFFF)

PoC

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

Saída esperada:

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

Observações

  • Sem root: ServiceManager.getService() via app_process funciona com UID shell.
  • Permissão: A permissão signatureOrSystem NÃO é aplicada — o serviço é registrado via ServiceManager.addService() diretamente, bypassando o permission check.
  • Crash inevitável: memset com 0xFFFFFFFF sempre crasha. RCE precisaria de leak de endereço + ROP (PAC ausente no SM-A175F).
टूल डाउनलोड करें
संक्रियामानप्रभाव
(i18 + 15) & ~1500 बाइट आवंटित करता है
memset(buf, 0, i18)0x00000000FFFFFFFF4 GB को शून्य करने का प्रयास → SIGSEGV
sxtw(i18) memcpy के लिए0xFFFFFFFFFFFFFFFF-1 का साइन-एक्सटेंड → ~18 एक्साबाइट्स
OperaçãoValorEfeito
(i18 + 15) & ~150Alloca 0 bytes
memset(buf, 0, i18)0x00000000FFFFFFFFTenta zerar 4 GB → SIGSEGV
sxtw(i18) para memcpy0xFFFFFFFFFFFFFFFFSign-extend de -1 → ~18 exabytes