
OnePlus 13 बिल्ड्स पर CVE-2026-64560 के लिए डिवाइस-विशिष्ट Android kernel exploit, जो सत्यापित payloads और porting tools के साथ ADB shell के माध्यम से अस्थायी root प्रदान करता है।
OP5D0DL1) CVE-2026-64560नीचे सूचीबद्ध सटीक OnePlus 13 (PJZ110) बिल्ड्स के लिए CVE-2026-64560 Android proof of concept का डिवाइस-विशिष्ट अनुकूलन। यह केवल ADB-shell हेल्पर के माध्यम से वर्तमान बूट के लिए अस्थायी रूट एक्सेस प्रदान करता है।
[!WARNING] यह प्रायोगिक कर्नेल एक्सप्लॉइट कोड है। यह डिवाइस को रीबूट कर सकता है, कर्नेल स्थिति को खराब कर सकता है, या डेटा हानि का कारण बन सकता है। इसका उपयोग केवल उस डिवाइस पर करें जो आपके स्वामित्व में है या जिसे परीक्षण के लिए स्पष्ट रूप से अधिकृत किया गया है। पहले महत्वपूर्ण डेटा का बैकअप लें।
यह रिपॉज़िटरी kernel images को लक्षित करती है, और इसके प्रोफ़ाइल build fingerprints को लक्षित करते हैं; एक OTA एक को दूसरे के बिना बदल सकता है। नीचे दिए गए दोनों बिल्ड बाइट-समान कर्नेल भेजते हैं, इसलिए वे हर ऑफ़सेट साझा करते हैं और केवल device-gate स्ट्रिंग में भिन्न होते हैं। docs/BUILDS.md एक नई इमेज के लिए इंडेक्स और निर्णय वृक्ष है — वहीं से शुरू करें।
BP2A.250605.015 | CP2A.260605.016 | |
|---|---|---|
| Android | 16 | 17 |
| Fingerprint | OnePlus/PJZ110/OP5D0DL1:16/BP2A.250605.015/V.58c08ac-32ff28e-33c0954:user/release-keys | OnePlus/PJZ110/OP5D0DL1:17/CP2A.260605.016/V.34246cc-e2d62b-e2d628:user/release-keys |
| Kernel | 6.6.118-android15-8-g9bc34d5b0c79-abogki537459655-4k | same |
| Page size / CPUs | 4 KiB / 8 online | same |
| Decoded Image SHA-256 | ee5ee448d2985eeeb7a8b5ad2e1efc34eeb410a8beae0ab484504d739124d613 | same |
| Payload | bin/cve-2026-64560-fanout-op13-bp2a.250605.015 | bin/cve-2026-64560-fanout-op13-cp2a.260605.016 |
रनर एक अप्रत्याशित फिंगरप्रिंट को अस्वीकार करता है और निष्पादन से पहले प्रत्येक बंडल किए गए पेलोड को सत्यापित करता है। इस रिपॉज़िटरी में फर्मवेयर इमेज, डिवाइस कुंजियाँ, या डिवाइस-अद्वितीय रहस्य शामिल नहीं हैं।
आवश्यकताएँ:
PATH पर उपलब्ध adb के साथ Android Platform Toolsरिपॉज़िटरी रूट से:
sh scripts/boot-campaign.sh -s <serial> -p bin/cve-2026-64560-fanout-op13-cp2a.260605.016 -n 10
ROOT_SUCCESS के बाद, कोई भी नया टर्मिनल अस्थायी रूट शेल खोल सकता है:
adb -s <serial> shell -T /data/local/tmp/su
uid=0(root) सत्यापित करने के लिए id चलाएँ। एक्सेस केवल वर्तमान बूट के लिए रहता है; रीबूट के बाद दोबारा चलाएँ। कोई boot, vendor, या system पार्टीशन संशोधित नहीं होता।
एक्सप्लॉइट में एक संभाव्य कर्नेल रेस है। चेन विश्वसनीय रूप से ब्रिज चरण तक पहुँचती है और लगभग आठ में से एक बूट में अपना read gate साफ़ करती है, इसलिए बूट्स का खाली रन इस बात का प्रमाण नहीं है कि कुछ टूटा है — बूट्स का बजट रखें, और वह एक काउंटर देखें जो विफलता संकेत जैसा दिखता है और नहीं है, docs/BUILDS.md में।
scripts/boot-campaign.sh POSIX sh में रनर लूप है, उन होस्ट्स के लिए जहाँ scripts/root.ps1 के लिए PowerShell होस्ट अनुपलब्ध है। दोनों समान गेट लागू करते हैं।
Android NDK r29 और API 35 पुनरुत्पादक-बिल्ड डिफ़ॉल्ट हैं। NDK डिफ़ॉल्ट रूप से मौजूद नहीं है, इसलिए इसका रूट पास करें:
.\scripts\build.ps1 -Profile profiles\op13\CP2A.260605.016.json -NdkRoot <path-to-ndk>
स्क्रिप्ट एक्सप्लॉइट रणनीतियों और अस्थायी-su हेल्पर को बनाती है, आउटपुट को स्ट्रिप करती है, और उनके पिन किए गए SHA-256 मानों को सत्यापित करती है।
rotate बनाया गया है लेकिन जानबूझकर प्रचारित नहीं किया गया: इसने इस डिवाइस पर कर्नेल को नीचे गिरा दिया और टाइमर पुनर्कैलिब्रेशन के बाद से इसे फिर से मान्य नहीं किया गया है।
python tools/extract_image.py <boot.img> <out> # compare the Image digest first
python tools/port_target.py --profile profiles/op13/<BUILD>.json
किसी बिल्ड के स्वामित्व वाली हर चीज़ का नाम बिल्ड के नाम पर रखा जाता है, इसलिए एक डिवाइस के दो बिल्ड कभी टकराते नहीं। निर्णय वृक्ष के लिए docs/BUILDS.md और पूरी चेकलिस्ट के लिए docs/PORTING.md देखें।
यह रिपॉज़िटरी जिस एक्सप्लॉइट फ्रेमवर्क को अनुकूलित करती है — एक्सप्लॉइट स्रोत, क्रेडेंशियल और रिस्टोरेशन चरण, अस्थायी-su हेल्पर, पुनरुत्पादक बिल्ड, अनुकूली रनर, और पोर्टिंग टूलकिट — Xiaomi 15 dada अनुकूलन से आता है:
यहाँ OnePlus 13 ऑफ़सेट, रेस ट्यूनिंग, और सत्यापन इस डिवाइस पर मापे गए थे बजाय स्थानांतरित किए जाने के; दो कर्नेल लक्ष्य अलग इमेज हैं, इसलिए लगभग हर पता भिन्न है। dada प्रोफ़ाइल और पेलोड संदर्भ के रूप में बनाए रखे गए हैं जिसके विरुद्ध फ्रेमवर्क मूल रूप से मान्य किया गया था।
मूल proof of concept, और भेद्यता स्वयं, दोनों से अपस्ट्रीम है:
सटीक रिवीज़न और Linux फिक्स docs/UPSTREAM.md में सूचीबद्ध हैं।
Apache License 2.0, अपस्ट्रीम कार्य से विरासत में मिला। LICENSE और NOTICE देखें।
| Path | Purpose |
|---|
bin/ | Verified AArch64 release payloads |
profiles/op13/<BUILD>.json | Target descriptions, one per build fingerprint |
profiles/dada/ | The Xiaomi 15 target this framework came from, kept as reference |
src/ | C sources, generated per build from the shared templates |
targets/ | Measured offset sets for a kernel image |
evidence/ | Trimmed chain logs from runs that landed root |
scripts/boot-campaign.sh | Boot loop with thermal, settle, and timeout gates |
scripts/sweep.sh | Several tuning settings in one boot |
scripts/root.ps1, build.ps1, new-target.ps1 | Runner, build, and scaffolding |
tools/extract_image.py | Kernel image out of a boot dump, both digests |
tools/kallsyms_extract.py | Symbol table from a raw arm64 Image (self-validating) |
tools/ksym.py | Symbol lookup in an extracted table |
tools/btf_offsets.py | Struct member offsets from the Image's BTF blob |
tools/port_target.py | Generates a build source from a template + profile |
docs/BUILDS.md | Build index, decision tree, campaign pitfalls |
docs/OP13.md | Derivation of every offset, with the evidence |
docs/PORTING.md | New-build adaptation and promotion checklist |
docs/UPSTREAM.md | Upstream provenance and fixed revisions |