
ARM32 Linux kernel के विशेषाधिकार वृद्धि शोषण CVE-2026-43499 (GhostLock futex UAF) के लिए, जो Huawei Watch 4 Pro को लक्षित करता है, जिसमें कई शोषण वेरिएंट और विस्तृत बाईपास विश्लेषण शामिल है।
CVE-2026-43499 (GhostLock) पर आधारित Linux कर्नेल विशेषाधिकार वृद्धि शोषण प्रयास — Huawei Watch 4 Pro (MDS-AL00, armv7l)
यह परियोजना Huawei Watch 4 Pro (MDS-AL00, Snapdragon SW5100, HarmonyOS 4.3.0 AOSP 12) डिवाइस के लिए GhostLock कर्नेल भेद्यता शोषण प्रयास है, जिसे ARM 32-bit (armv7l) आर्किटेक्चर पर अनुकूलित किया गया है।
GhostLock (CVE-2026-43499) एक कर्नेल futex PI UAF भेद्यता है जो Linux 2.6.39 से 7.x को प्रभावित करती है। इस परियोजना का उद्देश्य Huawei घड़ी पर पूर्ण विशेषाधिकार वृद्धि श्रृंखला को पूरा करना है।
मूल भंडार: MobiusM/CVE-2026-43499 (arm64 संस्करण PoC)
कर्नेल 5.4.161 ARM32 पर, FUTEX_CMP_REQUEUE_PI द्वारा EDEADLK ट्रिगर करने के बाद, PI श्रृंखला ट्रैवर्सल दूसरा rb_erase निष्पादित नहीं करता। GhostLock 64 द्वारा निर्भर UAF → दूसरे rb_erase द्वारा UAF पृष्ठ पर लिखने की श्रृंखला इस कर्नेल पर पूरी तरह से विफल हो जाती है।
सभी 8-iov writev स्प्रे वेरिएंट विफल होते हैं: sc[0] after = e3a0002a (शेलकोड पृष्ठ लिखा नहीं गया)।
ghostlock64 का 8-iov writev स्प्रे कर्नेल स्टैक पर iovstack[8] सरणी के rt_mutex_waiter संरचना के साथ ओवरलैप पर निर्भर करता है। इस कर्नेल पर:
clear_refs_operations.write को सफलतापूर्वक अधिलेखित नहीं कर सकाsched_setattr सफलतापूर्वक PI श्रृंखला ट्रैवर्सल ट्रिगर कर सकता है (success=1600+ सत्यापित), लेकिन rb_erase OWNER थ्रेड के pi_tree_entry (kmalloc हीप पर task_struct में) को संचालित करता है, न कि waiter थ्रेड के स्टैक डेटा (fd_set writev डेटा) को।
इसलिए pselect + sched_setattr मार्ग का उपयोग लेखन मान को नियंत्रित करने के लिए भी नहीं किया जा सकता।
mmap(0, ..., MAP_FIXED, ...) -EINVAL लौटाता है, मानक Linux के -EACCES के बजायCONFIG_SECURITY_SELINUX_DEVELOP=n → selinux_state.enforcing फ़ील्ड मौजूद नहीं हैmremap → ENOSYScommit_creds: 0xC0140390
prepare_kernel_cred: 0xC014059C
proc_clear_refs_ops: 0xC0CAF280 (.write @ +12 = 0xC0CAF28C)
mmap_min_addr: 0xC12E8568
dac_mmap_min_addr: 0xC123C734
selinux_hooks[mmap]: 0xC0F64E1C
| भंडार | डिवाइस | कर्नेल | आर्किटेक्चर |
|---|---|---|---|
| x-spy/CVE-2026-43499-popsicle |
दोनों भंडार pselect() + sched_setattr का उपयोग करते हैं जो PI श्रृंखला को ट्रिगर करते हैं + physmap सीधा लेखन, ARM64 के डायरेक्ट मैप तंत्र पर निर्भर। ARM32 में डायरेक्ट मैप नहीं है, और इस कर्नेल का PI श्रृंखला व्यवहार भिन्न है।
CVE-2026-43499-armv7/
├── config/
│ └── kernel.config # डिवाइस कर्नेल .config (5.4.161-perf)
├── scripts/
│ ├── ghostlock_all.sh # बैच परीक्षण स्क्रिप्ट
│ └── ghostlock_check.sh # जाँच स्क्रिप्ट
├── src/
│ ├── ghostlock64.c # मूल 8-iov दोहरा erase PoC (आधार ढांचा)
│ ├── ghostlock5-33.c # प्रारंभिक पुनरावृत्ति संस्करण (ghostlock5 ~ ghostlock33)
│ ├── ghostlock63.c # ghostlock 6.x 3-iov प्रकार
│ ├── g62_*.c # 3-iov प्रकार (विभिन्न लक्ष्य पते)
│ ├── g62_8e.c # 8-iov सटीक स्प्रे (अंतिम संस्करण)
│ ├── g62_scan.c # बहु- iov ऑफ़सेट स्कैन
│ ├── g62_self.c # waiter स्व-ट्रिगर EDEADLK परीक्षण
│ ├── g62_pispray.c # EDEADLK + slab spray + sched_setattr
│ ├── g62_rand.c # randomize_va_space लेखन परीक्षण
│ ├── gsu_v19.c # 8-iov + sched_setattr ट्रिगर
│ ├── gl_pselect*.c # pselect + sched_setattr परीक्षण
│ ├── gl_scan.c # fd_set ऑफ़सेट स्कैन
│ ├── sc64.c # शेलकोड पेलोड
│ ├── trigger*.c # मूल ट्रिगर PoC (भेद्यता सत्यापन)
│ ├── ghostlock_root.c # प्रारंभिक रूट प्रयास
│ └── test_*.c # संकलन/रन परीक्षण
├── README.md
├── ghostlock64 # 8-iov दोहरा erase PoC बाइनरी
├── ghostlock63 # ghostlock 6.x 3-iov बाइनरी
├── g62_* # 3-iov प्रकार बाइनरी
├── gl_* # pselect परीक्षण बाइनरी
├── gsu # sc-page अपहरण प्रकार
├── sc64 # शेलकोड
├── trigger* # मूल ट्रिगर PoC बाइनरी
└── test_* # परीक्षण बाइनरी
इस कर्नेल संस्करण (5.4.161 ARM32) का PI श्रृंखला कार्यान्वयन GhostLock की दोहरी rb_erase मनमाना लेखन तकनीक का समर्थन नहीं करता। सभी ज्ञात CVE-2026-43499 शोषण मार्ग इस डिवाइस पर अवरुद्ध हैं। जारी रखने के लिए नए लेखन-शून्य आदिम या अन्य भेद्यताओं की खोज की आवश्यकता है।
हुआवे, तुमने मुझे मार ही डाला, मेरे deepseek V4 Pro के 30RMB टोकन जला डाले।
| पैरामीटर | मान |
|---|
| डिवाइस | Huawei Watch 4 Pro (MDS-AL00) |
| कर्नेल | 5.4.161-perf (ARM32 armv7l) |
| सिस्टम | HarmonyOS 4.3.0 (AOSP 12) |
| CPU | Snapdragon SW5100 |
| SELinux | Enforcing (CONFIG_SECURITY_SELINUX_DEVELOP=n) |
| KASLR | बंद |
| MMU | CONFIG_STRICT_KERNEL_RWX=y |
| स्टैक | NX (कर्नेल स्टैक निष्पादन योग्य नहीं) |
| mmap(0) | Huawei द्वारा अतिरिक्त अवरोधन (-EINVAL, गैर-मानक -EACCES) |
| चरण | स्थिति | विवरण |
|---|
| GhostLock FUTEX PI ट्रिगर | ✅ सत्यापन सफल | FUTEX_CMP_REQUEUE_PI EDEADLK (-35) लौटाता है |
| PI श्रृंखला ट्रैवर्सल ट्रिगर | ✅ सत्यापन सफल | sched_setattr PI श्रृंखला वॉक ट्रिगर करता है |
| दूसरा rb_erase | ❌ मुख्य अवरोध | इस कर्नेल PI श्रृंखला कार्यान्वयन में दूसरा rb_erase नहीं होता |
| iovstack संरेखण | ❌ अवरुद्ध | 8-iov writev स्प्रे rt_mutex_waiter के साथ ओवरलैप नहीं होता |
| mmap(0) बाईपास | ❌ अवरुद्ध | Huawei कर्नेल अतिरिक्त जाँच (-EINVAL) |
| fops अपहरण | ❌ अवरुद्ध | कोई नियंत्रित मनमाना लेखन आदिम नहीं |
| cred अधिलेखन | ❌ अवरुद्ध | उपरोक्त अवरोध बिंदुओं तक सीमित |
| विशेषाधिकार वृद्धि पूर्ण | ❌ | कार्यान्वित नहीं किया गया |
| मार्ग | परिणाम | कारण |
|---|
| ghostlock64 8-iov writev → FLPI | ❌ | दूसरा rb_erase ट्रिगर नहीं होता |
| ghostlock64 + sched_setattr | ❌ | वही, PI श्रृंखला UAF पृष्ठ तक नहीं पहुँचती |
| g62 3-iov | ❌ | लिख सकता है लेकिन मान स्टैक पता है, स्टैक NX निष्पादन योग्य नहीं |
| pselect + sched_setattr | ❌ | rb_erase owner के हीप डेटा को संचालित करता है |
| waiter स्वयं FLPI दूसरा | ❌ | EDEADLK तेज़ पथ, स्टैक नहीं पढ़ता |
| iov ऑफ़सेट स्कैन (22 लेआउट) | ❌ | सभी ओवरलैप नहीं होते |
| mm(0) / mremap बाईपास | ❌ | -EINVAL / ENOSYS |
| selinux हुक शून्य करना | ❌ | enforcing फ़ील्ड मौजूद नहीं है |
| Xiaomi 17 Pro Max |
| 6.12.23 |
| ARM64 |
| pubglite55/oppo-ghostlock | OPPO Find N2 | 5.10.236 | ARM64 |