
بحث سلسلة استغلال يستهدف CVE-2026-43499 على Samsung Galaxy S21
حمولة IonStack الخاصة بالجهاز لهاتف Samsung Galaxy S21 (o1s) على
البرنامج الثابت G991BXXSJHZC2. تمنح صلاحية root متقلبة عبر استغلال LD_PRELOAD +
خادم root-helper من نوع 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، لا userfaultfd |
مبني على تنفيذ IonStack لـ CVE-2026-43499 المنشور في
NebuSec/CyberMeowfia (المنبع b850d3bddc74c3328d5fbcc0568d21962b55d949)
و 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 (root helper).
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'"
صلاحية root (إن تحققت) تبقى فقط حتى إعادة التشغيل؛ لا يتم وميض أي شيء.
sched_setattr → rt_mutex_adjust_prio_chain → _raw_spin_trylock خطأ NULL) دون أن
تنجح أبداً في تثبيت الطابع: حقل lock ذو الـ 8 بايت يقع في فجوة نسخ
لا يغطيها أي استدعاء نظام حاجب تم مسحه (خريطة عمق لكل استدعاء نظام
موثقة بالتفكيك في RESEARCH.md). بوابة استرجاع الأنبوب (Pipe-reclaim gate)
تفشل بشكل منهجي (0/0)./data/local/tmp عند إعادة التشغيل —
أعد دفع الملفات الثنائية بعد كل إقلاع.