
CVE-2026-43499 के लिए गार्डेड, स्रोत-केवल Humane AI Pin रूट PoC
Humane AI Pin के लिए GhostLock एक ओपन-सोर्स, बूट-स्कोप्ड रूट प्रूफ ऑफ कॉन्सेप्ट है जो एक विशिष्ट रिटेल फर्मवेयर बिल्ड के लिए है। यह एक सामान्य अधिकृत ADB शेल से CVE-2026-43499, एक Linux rtmutex use-after-free, का उपयोग करता है।
रनर जानबूझकर संकीर्ण है। कुछ भी तैयार करने से पहले यह पूर्ण फर्मवेयर फिंगरप्रिंट, कर्नेल बिल्ड, स्लॉट, शेल UID और SELinux स्थिति की जाँच करता है। कोई भी बेमेल होने पर रन रुक जाता है।
[!WARNING] यह एक कर्नेल एक्सप्लॉइट है। यह Pin को पैनिक, रीबूट या हार्ड-हैंग कर सकता है। हार्ड हैंग की स्थिति में डिवाइस को अनप्लग करना और बैटरी खत्म होने की प्रतीक्षा करनी पड़ सकती है। इसका उपयोग केवल उसी Pin पर करें जो आपका हो और जिसे रिकवर करने का जोखिम आप उठा सकें। रीबूट पर रूट गायब हो जाता है।
| Property | Accepted value |
|---|---|
| Device | Humane AI Pin, retail unit |
| Firmware | qti/atoll/atoll:12/SKQ1.230401.001/101.000470.45.20:user/release-keys |
| Android | 12 |
| Kernel | 4.14.190-perf, built Mon Nov 4 18:37:23 PST 2024 |
| Slot | _b only |
| Architecture | aarch64 |
| Profile | humane-aipin-45.20 |
| Kernel Image SHA-256 | d4f4e0deb20871fce207f1f095ba1934162081c2f10afaccbb2e6a1e938719fb |
| Release-candidate replay | Pending final clean-boot replay |
स्लॉट _a, डेवलपर फर्मवेयर, निकटवर्ती फर्मवेयर संस्करण, और अन्य Qualcomm
atoll उत्पाद अस्वीकार कर दिए जाते हैं। संगतता विवरण देखें।
मेल खाता Android फिंगरप्रिंट इस जाँच को बायपास करने के लिए पर्याप्त नहीं है: A/B स्लॉट
एक ही यूज़रस्पेस बिल्ड पहचान के अंतर्गत भिन्न बूट इमेज और कर्नेल लेआउट रख सकते हैं।
आपको आवश्यकता होगी:
adb, Python 3.10 या नया, make, और एक C कंपाइलर;28.2.13676358 (r28c)।इस रिपॉज़िटरी में कोई ADB प्राइवेट की, फर्मवेयर इमेज, बूट इमेज, बगरिपोर्ट, डिवाइस लॉग, या प्रीबिल्ट पेलोड शामिल नहीं है।
Android के कमांड-लाइन टूल्स के साथ पिन किए गए NDK को इंस्टॉल करें:
sdkmanager "ndk;28.2.13676358"
पुष्टि करें कि ADB पहले से Pin को device के रूप में देखता है:
$ adb devices
List of devices attached
YOUR_SERIAL device
रिपॉज़िटरी क्लोन करें, फिर प्रत्येक कमांड के लिए वही स्पष्ट सीरियल उपयोग करें:
git clone https://github.com/TheAndersMadsen/humane-aipin-ghostlock.git
cd humane-aipin-ghostlock
./ghostlock check --serial YOUR_SERIAL
./ghostlock run --serial YOUR_SERIAL
./ghostlock verify --serial YOUR_SERIAL
check केवल-पढ़ने योग्य है। यह पता लगाए गए फर्मवेयर, कर्नेल, स्लॉट, शेल
सीमा, SELinux स्थिति, बैटरी, पावर स्रोत, और NDK रिवीज़न को प्रिंट करता है।
run एक संरक्षित प्रयास करता है। यह आपसे
ROOT YOUR_SERIAL टाइप करने के लिए कहता है, स्रोत से बिल्ड करता है, पुश करने के बाद
पेलोड हैश सत्यापित करता है, KASLR प्राप्त करने के लिए वर्तमान-बूट बगरिपोर्ट कैप्चर करता है,
डिफ़ॉल्ट रूप से उस कच्ची बगरिपोर्ट को हटा देता है, और दूसरे पूर्ण प्रीफ्लाइट के बाद ही
एक्सप्लॉइट शुरू करता है।
verify स्वतंत्र रूप से बूट-स्कोप्ड रूट ब्रोकर से id और
getenforce चलाने के लिए कहता है।
एक सफल सत्यापन इस प्रकार दिखता है:
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0
SELinux: Permissive
Boot epoch: <redacted>; uptime: <redacted>s
सटीक SELinux कॉन्टेक्स्ट कर्नेल और फर्मवेयर विशिष्ट है। स्वीकृति शर्त उसी बूट पर SELinux permissive के साथ ब्रोकर के माध्यम से UID/GID 0 है।
वर्तमान बूट के लिए, पेलोड:
init_cred से बदल देता है;/data/local/tmp/su पर एक छोटा कमांड क्लाइंट लिखता है;यह कोई पार्टीशन नहीं लिखता, बूटलोडर अनलॉक नहीं करता, कोई मॉड्यूल इंस्टॉल नहीं करता, वेरिफाइड बूट को संशोधित नहीं करता, रीबूट पर्सिस्टेंस नहीं बनाता, किसी नेटवर्क सेवा से संपर्क नहीं करता, या टेलीमेट्री अपलोड नहीं करता।
किसी अन्य ADB शेल से रूट कमांड चलाएँ:
adb -s YOUR_SERIAL shell '/data/local/tmp/su -c id'
रनर प्रति कर्नेल बूट एक प्रयास की अनुमति देता है। यदि यह मिस, टाइमआउट,
डिस्कनेक्ट, अनिश्चित स्थिति, पैनिक, या रीबूट की रिपोर्ट करता है, तो उस बूट पर पुनः प्रयास न करें।
पहले रीबूट करें और फिर check चलाएँ।
यदि ADB अभी भी प्रतिक्रिया देता है:
adb -s YOUR_SERIAL reboot
यदि Pin हार्ड-हैंग है और ADB प्रतिक्रिया नहीं देता, तो सभी बाहरी पावर डिस्कनेक्ट करें। परीक्षित रिटेल हार्डवेयर में कोई विश्वसनीय उपयोगकर्ता-सुलभ फोर्स्ड रीस्टार्ट नहीं है, इसलिए रिकवरी के लिए पावर पुनः कनेक्ट करने से पहले बैटरी खत्म होने की प्रतीक्षा करनी पड़ सकती है।
सामान्य रीबूट के बाद, रूट चला जाता है। स्टेज किए गए फ़ाइलें
/data/local/tmp के अंतर्गत निष्क्रिय रह सकती हैं; एक साफ़ शेल उन्हें हटा सकता है:
adb -s YOUR_SERIAL shell + 'rm -f /data/local/tmp/ghostlock-aipin.so /data/local/tmp/su + /data/local/tmp/.ghostlock-su.sock + /data/local/tmp/.ghostlock-aipin-attempt'
PoC का उपयोग करने से पहले SAFETY.md पढ़ें और विफल रन को पुनः प्रयास करने से पहले TROUBLESHOOTING.md पढ़ें।
रन रिकॉर्ड mode-0700 अस्थायी निर्देशिका में लिखे जाते हैं। उनमें एक डिवाइस सीरियल, बूट पहचान, कर्नेल एड्रेस, और एक्सप्लॉइट टेलीमेट्री होती है। किसी इश्यू में उस निर्देशिका या कच्ची Android बगरिपोर्ट को कभी अटैच न करें।
इसके बजाय एक संक्षिप्त रिपोर्ट बनाएँ:
./ghostlock report /private/tmp/ghostlock-aipin-TIMESTAMP + --output ghostlock-report.json
साझा करने से पहले JSON की समीक्षा करें। रिडैक्टर सीरियल, बूट ID, होस्ट पाथ, कच्चा कमांड आउटपुट, और कर्नेल एड्रेस छोड़ देता है। PRIVACY.md देखें।
Android पेलोड बनाएँ:
./ghostlock build
सभी होस्ट टेस्ट और दो स्वतंत्र बिल्ड चलाएँ:
./scripts/verify-release.sh
पेलोड यहाँ लिखा जाता है:
source/build/humane-aipin-45.20/bin/preload.so
बिल्ड उत्पाद Git द्वारा अनदेखे किए जाते हैं। रिलीज़ एसेट्स को संबंधित GitHub रिलीज़ से जुड़े चेकसम के विरुद्ध सत्यापित किया जाना चाहिए।
एक्सप्लॉइट CVE के डैंगलिंग स्टैक-निवासी rt_mutex_waiter का उपयोग
एक नियंत्रित रेड-ब्लैक-ट्री अपडेट को रूट करने के लिए करता है। KernelSnitch पहले
futex-hash टाइमिंग के माध्यम से एक mm_struct एड्रेस लीक करता है। एक समान-PFN
perf-event गेट फिर साबित करता है कि जारी किया गया order-3 स्लैब पेज नियंत्रित
socket-buffer डेटा द्वारा पुनः प्राप्त किया गया था, इससे पहले कि करप्शन ट्रिगर आगे बढ़ सके। एक बूट-बाउंड
KASLR बेस कम से कम दो सहमत वर्तमान-बूट WARN एंकरों से प्राप्त किया जाता है।
परिणामी read/write रूट वर्तमान टास्क को हल करता है और
बूट-स्कोप्ड क्रेडेंशियल परिवर्तन करता है।
लक्ष्य प्रोफ़ाइल में केवल इस रूट द्वारा उपभोग किए जाने वाले ऑफ़सेट और सिंबल होते हैं। कर्नेल Image और पूर्ण सिंबल टेबल वितरित नहीं किए जाते हैं। TECHNICAL.md चरणों और fail-closed गेट्स का वर्णन करता है।
यह एक असमर्थित उपभोक्ता डिवाइस के लिए एक प्रायोगिक शोध रिलीज़ है। यह एक सामान्य Android रूटिंग टूल नहीं है और Humane, HP, या CosmOS से संबद्ध नहीं है।
कोड Apache-2.0 के अंतर्गत लाइसेंस प्राप्त है। कार्यान्वयन NebuSec के Apache-2.0 CyberMeowfia कार्य से शुरू होता है; AI Pin पोर्ट और रिलीज़ टूलिंग PROVENANCE.md और THIRD_PARTY_NOTICES.md में प्रलेखित हैं।
कृपया किसी भी भेद्यता या दुरुपयोग की चिंता की रिपोर्ट करने से पहले SECURITY.md पढ़ें।