
Samsung Galaxy S21 पर CVE-2026-43499 को लक्षित करने वाला एक्सप्लॉइट चेन शोध
फर्मवेयर G991BXXSJHZC2 पर Samsung Galaxy S21 (o1s) के लिए डिवाइस-विशिष्ट IonStack पेलोड। LD_PRELOAD एक्सप्लॉइट + call_usermodehelper रूट-हेल्पर डेमॉन के माध्यम से अस्थिर रूट देता है (IonStack-S22U / IONSTACK-S22 के समान स्वरूप)। स्थिति: शोध — अवरुद्ध, RESEARCH.md देखें।
| फ़ील्ड | मान |
|---|---|
| मॉडल | SM-G991B |
| डिवाइस | o1s |
| फर्मवेयर | G991BXXSJHZC2 |
| Android | 12 / API 31 (AP3A.240905.015.A2, फिंगरप्रिंट samsung/o1sxeea/o1s) |
| पेज साइज़ | 4096 |
| कर्नेल | 5.4.242-30958140-abG991BXXSJHZC2 |
| SoC | Exynos 2100 |
| मिटिगेशन | CFI+PAC+PAN/UAO, KDP_CRED, SELinux enforcing, no userfaultfd |
NebuSec/CyberMeowfia (अपस्ट्रीम b850d3bddc74c3328d5fbcc0568d21962b55d949) में प्रकाशित IonStack CVE-2026-43499 कार्यान्वयन और BuSung-dev/CVE-2026-43499-S25U पर आधारित, F-19-F/IonStackQuest3 को धन्यवाद। अपस्ट्रीम Apache License 2.0 LICENSE में बरकरार (NOTICE देखें)।
Makefile build (NDK r27+, ANDROID_NDK_HOME)
src/ exploit source (o1s profile only)
src/targets/o1s-G991BXXSJHZC2/ target.h + p0_fingerprint.h
src/kernelsnitch/ mm_struct leak (futex hash collision)
tools/ p0 fingerprint helper
RESEARCH.md research notes (geometry, verdicts)
export ANDROID_NDK_HOME=/path/to/android-ndk
make clean all
# SLIDE_WRITER_SEL=1|2|3 selects mcast/sigreturn(default)/xattr writers.
# Unset selects the experimental pselect writer (see RESEARCH.md).
आउटपुट (build/o1s-G991BXXSJHZC2/):
cve-2026-43499 (LD_PRELOAD पेलोड), cve-2026-43499-app.so (ऐप पेलोड),
cve-2026-43499-root (रूट हेल्पर)।
adb push build/o1s-G991BXXSJHZC2/cve-2026-43499 /data/local/tmp/cve-2026-43499
adb push build/o1s-G991BXXSJHZC2/cve-2026-43499-root /data/local/tmp/cve-2026-43499-root
adb shell chmod 755 /data/local/tmp/cve-2026-43499 /data/local/tmp/cve-2026-43499-root
adb shell "LD_PRELOAD=/data/local/tmp/cve-2026-43499 sh"
# on success:
/adb shell "/data/local/tmp/cve-2026-43499-root -c 'id; getenforce'"
रूट (यदि प्राप्त हो) केवल रीबूट तक रहता है; कुछ भी फ्लैश नहीं किया जाता।
sched_setattr → rt_mutex_adjust_prio_chain → _raw_spin_trylock NULL फ़ॉल्ट) बिना कभी
स्टैम्प लैंड किए: 8-बाइट lock फ़ील्ड एक कॉपी-गैप में बैठता है जिसे कोई भी
सर्वेक्षित ब्लॉकिंग सिसकॉल कवर नहीं करता (RESEARCH.md में प्रति-सिसकॉल
डिसअसेंबली-सत्यापित गहराई मैप)। पाइप-रीक्लेम गेट व्यवस्थित रूप से चूकता है (0/0)।/data/local/tmp रीबूट पर मिट जाता है — हर बूट के बाद
बाइनरीज़ को फिर से पुश करें।