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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ghostlock-oneplus — # GhostLock (CVE-2026-43499) लॉक्ड बूटलोडर वाले Android डिवाइसों के लिए कर्नेल एक्सप्लॉइट | Kitploit
उपकरण/GitHubGitHub/joinchang/ghostlock-oneplus
एंड्रॉइड सुरक्षाविशेषाधिकार वृद्धिशोषण फ्रेमवर्कभेद्यता विश्लेषणपेनिट्रेशन टेस्टिंगमोबाइल सुरक्षालर्निंग और शिक्षाबाइनरी शोषण
GitHubjoinchang/ghostlock-oneplus

ghostlock-oneplus

# GhostLock (CVE-2026-43499) लॉक्ड बूटलोडर वाले Android डिवाइसों के लिए कर्नेल एक्सप्लॉइट

रिपॉजिटरी देखें
235461681 महीना पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

GhostLock — लॉक्ड बूटलोडर जेलब्रेक

लॉक्ड बूटलोडर वाले Android उपकरणों के लिए कर्नेल एक्सप्लॉइट। बूटलोडर अनलॉक किए बिना या बूट इमेज को संशोधित किए बिना अस्थायी रूट + KernelSU इंस्टॉलेशन प्राप्त करता है। मल्टी-डिवाइस ऑफ़सेट तालिका के साथ कर्नेल संस्करण का रनटाइम स्वतः-पहचान।

KernelSU (LKM, Jailbreak मोड) के साथ OnePlus Ace 6T पर GhostLock चल रहा है

भेद्यता

CVE-2026-43499 — Futex PI (प्राथमिकता विरासत) यूज़-आफ्टर-फ़्री

Linux कर्नेल 5.7 ~ 7.1 को प्रभावित करता है। स्थिर 6.1.175, 6.6.140, 6.12.86 में ठीक किया गया। सितंबर 2026 तक अधिकांश Android उपकरण अनपैच्ड हैं।

pselect6 सिसकॉल fd_set डेटा को कर्नेल स्टैक पर कॉपी करता है। जब futex PI वेटर तंत्र के साथ संयोजित किया जाता है, तो एक मुक्त स्टैक फ़्रेम को rt_mutex_waiter संरचना के रूप में पुनःप्राप्त किया जा सकता है। PI चेन वॉक के दौरान rb-tree रीबैलेंस तब नियंत्रित मानों को मनमाने कर्नेल पतों पर लिखता है।

समर्थित उपकरण

सत्यापित कार्यशील

उपकरणSoCकर्नेलGKI शाखाSHIFT
OnePlus Ace 6T (PLR110)SM88456.12.38android16-50
OnePlus 15 (CPH2745/2747/2749)SM88506.12.23android16-50
OnePlus 15 (PLK110)SM88506.12.58android16-60
Xiaomi 17 (pudding)SM88506.12.23 / 6.12.69android16-5 / android16-60
OnePlus 13 (IN2060)SM87506.6.89android15-8-2
OPPO Pad 4 ProSM87506.6.89android15-8-2

ऑफ़सेट निकाले गए (उपकरण परीक्षण लंबित)

उपकरणSoCकर्नेलटिप्पणियाँ
OnePlus 15T (PLZ110)SM88456.12.38Ace 6T के समान कर्नेल
OPPO Reno10 Pro+ (CPH2521)SM84755.10.2365.10 कॉम्पैक्ट वेटर, वेटर शब्द=0
Sony Xperia 1 IV (nagara)SM84505.10.2185.10 कॉम्पैक्ट वेटर, वेटर शब्द=0
OPPO Find X9 Pro (PLG110)D94006.12.23MediaTek, android16-5
Vivo X200 Ultra (V2454A)SM87506.6.89C ashmem, पारंपरिक हुक
Vivo X Fold3 Pro (PD2337)SM86506.1.1246.1 कॉम्पैक्ट वेटर, वेटर शब्द=3
Vivo T4SM86506.1.1456.1 कॉम्पैक्ट वेटर, वेटर शब्द=3

संभव नहीं

pselect स्टैक ओवरले के लिए आवश्यक है कि मुक्त rt_mutex_waiter उपयोगकर्ता-नियंत्रणीय stack_fds क्षेत्र (शब्द 0–14) के भीतर आए। यह कहाँ आता है यह कंपाइलर PGO/LTO प्रोफ़ाइल द्वारा निर्धारित होता है, कर्नेल संस्करण द्वारा नहीं। देखें स्टैक लेआउट।

उपकरणSoCकर्नेलमूल कारण
OPPO Find X9 UltraSM87506.12.58PGO do_futex को हटाता है → वेटर शब्द=14
OnePlus 15 (PLK110)SM88506.12.69PGO do_futex को इनलाइन करता है → वेटर शब्द=20
OnePlus 12SM86506.1.141PGO do_futex को इनलाइन करता है → वेटर शब्द=13/19
OnePlus 13R / Ace 5SM86506.1.xOPLUS 6.1: वेटर शब्द=13
realme RMX5070SM66506.1.141OPLUS 6.1: वेटर शब्द=13
OPPO Pad 5 (OPD2502)MT68786.1.134OPLUS 6.1: वेटर शब्द=13
Motorola Edge 60 FusionMT68786.1.145गैर-OPLUS 6.1: समान परिणाम
iQOO Neo 10 CNSM86506.1.84do_futex फ़्रेम 0xD0 → वेटर शब्द=-11
OPPO PKW110—5.15.180do_futex फ़्रेम 0x140 → वेटर शब्द=-29
iQOO Z9 5G—5.15.178do_futex फ़्रेम बहुत बड़ा
CPH2763 (OPPO)—6.1.115OPLUS 6.1: PGO इनलाइन्ड, वेटर शब्द=24
iQOO 12SM86506.1.1456.1: वेटर शब्द=9, task/lock शून्य क्षेत्र में

6.1 संभाव्यता पर टिप्पणी: OPLUS 6.1 कर्नेल PGO द्वारा do_futex को इनलाइन करने के कारण लगातार असंभव हैं। हालाँकि, कुछ गैर-OPLUS 6.1 कर्नेल (vivo) मानक कॉल चेन बनाए रखते हैं और संभव हैं (vivo T4, X Fold3 Pro)। संभाव्यता प्रति-उपकरण जाँची जानी चाहिए।

एक्सप्लॉइट प्रवाह

दो रूट पथ, उपकरण क्षमताओं के आधार पर स्वचालित रूप से चयनित:

पथ A: UMH रूट (पसंदीदा, C ashmem उपकरण)

आवश्यक है off_ashmem_misc_fops != 0 (BSS में स्थिर miscdevice के साथ C ashmem)।

PI write (mode=4)  →  redirect miscdevice fops to fake fops
                   →  configfs r/w → pipe physrw (1-byte precise kernel r/w)
                   →  SELinux enforcing = 0 (single byte, no policycap corruption)
                   →  UMH: inject work_struct into system_unbound_wq
                   →  root script → ksud late-load → KSU installed

उपलब्ध: OnePlus 13, OPPO Pad 4 Pro, 5.10/6.1 C ashmem डिवाइस पर। Rust ashmem (6.12 GKI) पर उपलब्ध नहीं — heap-allocated miscdevice।

पथ B: प्रत्यक्ष PI राइट (फ़ॉलबैक)

Write 1 (mode=1)  →  SELinux enforcing = 0 (8-byte write, corrupts adjacent bytes)
Write 2 (mode=2)  →  task->cred = init_cred (uid=0, all capabilities)
Root shell         →  ksud late-load → KSU → SELinux policy fix

W1+W2 के बाद, exploit SELinux policy बाइनरी के config फ़ील्ड को पैच करता है (|= 0xC0000000 for ANDROID_NETLINK_ROUTE + GETNEIGH) और नेटवर्क कनेक्टिविटी बहाल करने के लिए /sys/fs/selinux/load के माध्यम से पुनः लोड करता है।

Bootstrap मोड (फ़ोन स्टैंडअलोन)

App (seccomp)  →  Write 1 → mini-adb TCP → adb shell: full exploit → root

Auto-Boot

बूट-टाइम लॉन्चर अलग GhostLock Anchor ऐप द्वारा प्रदान किया जाता है।

स्टैक लेआउट की व्यवहार्यता

NFDS=320 के साथ, core_sys_select कर्नेल स्टैक पर 256-बाइट का stack_fds बफ़र आवंटित करता है:

stack_fds:  0    5    10   14 | 15   20   25   29
            ├─in─┤─out─┤─ex──┤ ├res_in┤res_out┤res_ex┤
            ◄── USER CONTROLLED ──►│◄── KERNEL ZEROED ──►

The exploit fd_set इनपुट बिटमैप में नकली waiter फ़ील्ड (task, lock) रखता है। 6.12 nested waiter (14 words) के लिए: अधिकतम संभव waiter word = 3। 5.10/6.1 compact waiter (10 words) के लिए: अधिकतम संभव waiter word = 7।

waiter की स्थिति कॉल चेन की गहराई पर निर्भर करती है:

PatternCall ChainFeasible
android16-5 (6.12)sys_futex → do_futex → fwrpi✅ waiter word=2
android16-6 (6.12.58)sys_futex → do_futex → fwrpi✅ waiter word=2
android16-6 (6.12.69 OPLUS)sys_futex → fwrpi (PGO inlined)❌ waiter word=20
android16-6 (X9 Ultra)sys_futex → fwrpi (PGO inlined)❌ waiter word=14
android15-8 (6.6)sys_futex → do_futex → fwrpi✅ waiter word=2 (SHIFT=-2)
vivo 6.1sys_futex → do_futex → fwrpi✅ waiter word=3
OPLUS 6.1sys_futex → fwrpi (PGO inlined)❌ waiter word=13+
5.10 OPLUSsys_futex → do_futex → fwrpi✅ waiter word=0

kernel_phys_load

सभी kernel writes linear-map alias का उपयोग करते हैं। bootloader kernel_phys_load चुनता है, जो प्रत्येक SoC के अनुसार भिन्न होता है:

SoCkernel_phys_load
SM8845 (Ace 6T, 15T)0xa8000000
SM8750 (OnePlus 13, OPPO Pad 4 Pro)0xa8000000
SM8650 (vivo T4, X Fold3 Pro)0xa8000000
SM8850 (OnePlus 15, Xiaomi 17)0xc7800000

गलत मान चुपचाप विफल हो जाता है। इसे rooted यूनिट पर पढ़ें:

su -c 'grep -i "Kernel code" /proc/iomem'   # c7810000-... → 0xc7800000

रनटाइम पर ओवरराइड करें: KPHYS=0xc7800000 /data/local/tmp/a/e

PSELECT_SHIFT

/data/local/tmp/a/e                        # Default (shift=0)
PSELECT_SHIFT=-2 /data/local/tmp/a/e       # OnePlus 13 (6.6)

KIMAGE_TEXT_BASE

5.10 कर्नेल 0xffffffc008000000 का उपयोग करते हैं (VA_BITS=39, जो 6.x के डिफ़ॉल्ट 0xffffffc080000000 से भिन्न है)। इसे डिवाइस ऑफ़सेट प्रविष्टि में kimage_text_base फ़ील्ड के माध्यम से स्वचालित रूप से संभाला जाता है।

Build

make NDK_ROOT=/path/to/android-ndk

या सीधे:

NDK=/path/to/android-ndk
"$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android35-clang" \
  -O2 -Wall -Isrc/core -Isrc/devices -DTARGET_CONFIG_H=\"target.h\" \
  src/core/main.c src/core/util.c src/core/slide.c \
  src/core/fops.c src/core/pipe_physrw.c src/core/root.c \
  src/core/miniadb.c src/core/umh_root.c \
  -o ./ghostlock -fPIE -pie -pthread

पूर्वापेक्षाएँ

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