
Shizuku-संचालित CVE-2026-98260 रूट + Xiaomi yingtian / lhasa (kernel 6.18.21) के लिए KernelSU रनटाइम LKM लोडर
चीनी अनुवाद:
README.zh-CN.md— इस फ़ाइल का अनुवाद; यदि दोनों में मतभेद हो, तो यह अंग्रेज़ी फ़ाइल ही प्रामाणिक है।
HyperOS 4 (Android 17, kernel
6.18.21) पर Xiaomi yingtian (Pad 9 Pro
Max) और lhasa (Xiaomi 18 Fold) फ़ैमिली के लिए लोकल प्रिविलेज एस्केलेशन + KernelSU। पूरी चेन एक सामान्य Android ऐप के रूप में वितरित की जाती है जो shell मोड में
Shizuku को चलाती है, CVE-2026-98260 का शोषण करती है, और इंस्टॉल किए गए मैनेजर
(KernelSU / KernelSU-Next / SukiSU) से मेल खाने वाला KernelSU-फ़ैमिली LKM लोड करती है — न PC, न अनलॉक किया गया बूटलोडर, न
पार्टीशन में बदलाव।
शोध / शिक्षा / डिवाइस-मरम्मत परियोजना। केवल-बूट (रीबूट से यह हट जाती है)। केवल उन्हीं डिवाइस पर चलाएँ जिनके आप स्वामी हैं। उपयोग से पहले
docs/SECURITY.mdपढ़ें।
एजेंट / स्वचालित योगदानकर्ता: AGENTS.md से शुरू करें (प्रवेश
बिंदु: इनवेरिएंट, बिल्ड/टेस्ट रेसिपी, जाल, स्वच्छता), फिर
docs/AGENT_HANDOFF.md (सत्यापित स्थिति, विफल
प्रयोग, शेष कार्य)। कमिट करने से पहले bash scripts/verify.sh चलाएँ; जब टूलचेन वातावरण सेट हो तो यह
payload/APK को भी पुनः बनाता है।
中文版: AGENTS.zh-CN.md /
docs/AGENT_HANDOFF.zh-CN.md
| रिलीज़ | v3.2 (release/o3root2-v3.2.apk, 14,239,248 B, sha256 64bbc654…) |
| O1 टेस्ट बिल्ड | v3.3.3-o1-test (release/test/o3root2-v3.3.3-o1-test.apk, 14,247,440 B, sha256 62411f72…): v3.2 के साथ एक प्रयोगात्मक O1 (XRING) प्रोफ़ाइल (dijun / jinghu / violin) और छिपा हुआ रूट कंसोल। 6.18.21-android17…-4k kernel श्रृंखला पर किसी भी OS4.0.0.x बिल्ड को स्वीकार करता है: विश्लेषित बिल्ड सत्यापित पथ है, अन्य बिल्ड चेतावनी के साथ रिलैक्स्ड मोड में चलते हैं; केवल परीक्षकों के लिए, कभी भी हार्डवेयर-सत्यापित नहीं |
| पिछला टेस्ट बिल्ड | v3.2.1-console (release/beta/o3root2-v3.2.1-console.apk, 14,243,344 B, sha256 9cba365a…): स्थिर v3.2 के साथ एक छिपा हुआ रूट कंसोल (वर्ज़न पंक्ति को देर तक दबाएँ; तीन पुष्टियाँ) |
| O1 डिवाइस | OS4.0.0.x पर Xiaomi O1 SoC dijun / jinghu / violin: तीनों समान 6.18.21 kernel (sha256 0d9917ca…, g1d099fcb35e0) के साथ आते हैं; स्टैटिक विश्लेषण कहता है कि चेन लागू होती है, अभी तक कोई डिवाइस परीक्षण नहीं |
| कस्टम LKM | वैकल्पिक उपयोगकर्ता-प्रदत्त KernelSU-फ़ैमिली .ko (बुनियादी संगतता जाँच; अंतर्निहित अनुकूली मॉड्यूल पर वापस जाता है; चयन सहेजा जाता है और लॉन्च पर पुनर्स्थापित होता है — साफ़ करने के लिए पंक्ति को देर तक दबाएँ) |
| चेन | Shizuku shell → CVE-2026-98260 → uid=0 + पूर्ण caps → मेल खाता KernelSU LKM (KernelSU / KernelSU-Next / SukiSU) → rootd |
| स्थायित्व | कोई नहीं (केवल वर्तमान बूट) |
| परीक्षित डिवाइस | Xiaomi Pad 9 Pro Max yingtian, HyperOS OS4.0.16.0.XBMCNXM |
| दूसरा डिवाइस | lhasa (Xiaomi 18 Fold, OS4.0.26.0.XPNCNXM): बूट kernel yingtian के बिट-समान (sha256 cde87cd7…) है, इसलिए वही payload लागू होता है; डिवाइस पर परीक्षण नहीं किया गया |
newProcess के माध्यम से /system/bin/sh -c … स्पॉन करता है, इसलिए
पेलोड u:r:shell:s0 (uid=2000) में चलता है।CLOCK_THREAD_CPUTIME_ID + execve/de_thread
रेस (CVE-2026-98260) को ट्रिगर करता है, मुक्त किए गए posix_timers_cache order-1 slab
पेज को एक स्प्रे किए गए kmalloc-8k बफ़र से पुनःप्राप्त करता है जिसमें एक नकली RB-ट्री नोड होता है, और
दूसरे timerqueue_del → rb_erase का उपयोग करके एक 8-बाइट मान को एक
मनमाने कर्नेल पते पर लिखता है।selinux_state-7 पर 8-बाइट अनअलाइन्ड राइट के साथ enforcing को साफ़ करता है
(यह आसन्न notif_lock pending/tail
बाइट्स को भी साफ़ करता है; initialized/policycap अक्षुण्ण रहते हैं); स्टेज 1 एक नकली cred पेज (uid 0, पूर्ण कैप्स) में
task_struct.cred लिखता है।/proc/kallsyms के माध्यम से हल किए जाते हैं (फ़ॉलबैक: 248-सिंबल यूनियन रीलिंक + वर्तमान KASLR स्लाइड), कोई init पैच नहीं के साथ — क्योंकि policycap साफ़ रहा, KernelSU का अपना setenforce(1) हानिरहित है और डिवाइस अंत में
Enforcing में रहता है। फिर इसे insmod किया जाता है और एक rootd डेमॉन पीछे छोड़ दिया जाता है
(एब्स्ट्रैक्ट सॉकेट @o3p_rootd, peer-uid 0/2000)। अपस्ट्रीम KernelSU,
KernelSU-Next और SukiSU LKM सभी काम करते हैं (लेगेसी: O3P_CODEPATCH=1 setenforce इमीडिएट को पैच करता है)। v3.1 से ऐप इसके बजाय आपके द्वारा चुना गया .ko लोड कर सकता है
(बेसिक ELF/.modinfo संगतता जाँच, अस्वीकार या लोड विफल होने पर बिल्ट-इन
LKM पर स्वचालित फ़ॉलबैक)। v3.1.1 से वह चयन
सहेजा जाता है (files/custom-ko.ko + custom-ko.meta) और लॉन्च पर पुनर्स्थापित किया जाता है;
अब मान्य न होने वाली पुरानी फ़ाइल हटा दी जाती है, और मॉड्यूल पंक्ति पर लंबा दबाव इसे साफ़ करता है। v3.2 से लॉग बॉक्स चयनयोग्य है और इसमें
复制 क्रिया है जो पूरा लॉग कॉपी करती है; यह केवल तभी स्वतः स्क्रॉल करता है जब आप
पहले से नीचे के पास हों। मान्यता प्राप्त O1 डिवाइस पर टेस्ट बिल्ड
पेलोड शुरू होने से पहले दो-चरणीय जोखिम पुष्टि माँगता है। टेस्ट
बिल्ड इसके अतिरिक्त संस्करण पंक्ति के लंबे दबाव के पीछे एक रूट कंसोल छिपाता है: तीन गैर-छोड़े जा सकने वाली पुष्टियाँ, फिर कमांड rootd सॉकेट के माध्यम से रूट के रूप में चलते हैं (वर्तमान बूट में एक पेलोड रन आवश्यक)।
स्टेबल बिल्ड में कंसोल क्लासेस नहीं होते हैं।ऑफ़सेट, राइट
प्रिमिटिव, KernelSU पैच और पोर्टिंग गाइड के लिए docs/ARCHITECTURE.md देखें।
shizuku_plus_server को uid=2000, u:r:shell:s0 के रूप में चलना चाहिए।release/o3root2-v3.2.apk इंस्टॉल करें (MIUI में "Install via USB" की अनुमति आवश्यक हो सकती है)।★ UIDNOW uid=0,
★ KSU_MODULE LIVE दिखता है, और KernelSU मैनेजर स्वतः खुल जाता है।O1 डिवाइस (dijun / jinghu / violin) पर परीक्षण कर रहे हैं? इसके बजाय
release/test/o3root2-v3.3.3-o1-test.apk
इंस्टॉल करें और docs/TESTING_O1.md का पालन करें। गेट किसी भी 6.18.21-android17…-4k कर्नेल (OS4.0.0.x) पर
तीनों कोडनेम स्वीकार करता है; विश्लेषित बिल्ड g1d099fcb35e0 को सत्यापित पथ मिलता है, अन्य बिल्ड
固件门禁通过(O1 宽松模式:…) लॉग करते हैं और चेतावनी के साथ O1 पता पुनः उपयोग करते हैं।
पेलोड SELINUX_PROFILE kernel=… base=… src=env|uname लॉग करता है, इसलिए रिपोर्ट के लिए केवल निर्यात किया गया लॉग आवश्यक है।
कोई मैनेजर इंस्टॉल नहीं है? बटन Install KernelSU manager में बदल जाता है और बंडल किया गया APK इंस्टॉल करता है (सिस्टम प्रॉम्प्ट स्वीकार करें)।