
Sharp AQUOS R7 (CVE-2026-43499) के लिए डिवाइस-विशिष्ट Linux 5.10 kernel root exploit, जो SELinux permissive और एक su daemon के साथ अस्थायी UID 0 प्रदान करता है।
Sharp AQUOS R7 के लिए GhostLock (CVE-2026-43499) का डिवाइस-विशिष्ट Linux 5.10 पोर्ट। मान्य किया गया लक्ष्य AQUOS R7 (Mineva, SGA202SH/A202SH) है जो Android 14 बिल्ड 03.00.06, कर्नेल
5.10.218-android12-9-00041-g124993efd06e-ab12385094 (SM8450) पर चल रहा है।
यह aquos-r6-ghostlock
(AQUOS R6, कर्नेल 5.4.61-qgki) का पोर्ट है। प्रत्येक स्थिरांक — KASLR हैंडलिंग,
selinux_state लीक विंडो, टास्क/क्रेड ऑफ़सेट, ज़ीरो-BSS स्क्रैच क्षेत्र —
को R7 कर्नेल के विरुद्ध पुनः व्युत्पन्न और मान्य किया गया; R6 स्टैक ज्यामिति
केवल एक प्रारंभिक संदर्भ के रूप में काम आई।
एक सफल रन आपको SELinux permissive के साथ UID 0 देता है और एक छोटा
su कमांड डेमॉन शुरू करता है। यह पूर्ण Linux क्षमता सेट प्रदान नहीं करता और
परिवर्तन स्थायी नहीं है: रीबूट स्टॉक कर्नेल स्थिति को बहाल कर देता है।
aarch64-linux-android29 को लक्षित Android NDK clang आवश्यक है (NDK r30 के साथ परीक्षित):
make build/ghostlock510 # ~3.4 MB static binary
make strip # optional; ~0.6 MB, same behaviour
पुनरुत्पादनशीलता: यह स्रोत, उपरोक्त टूलचेन के साथ बिल्ड किया गया, सभी ऑन-डिवाइस
परीक्षणों में उपयोग किए गए बाइनरी के साथ बाइट-समान (MD5 fa896ebd361519766b46cc2bab70dea2) है। रिलीज़ एसेट ठीक उसी बाइनरी का llvm-strip-ed रूप है
(598,672 बाइट्स, SHA-256 d3056b65380da9fda68bc1891a08c6028ee1cbdb39ff2c3ca136b703f1b0bef7)।
बाइनरी (रिलीज़ एसेट या अपना बिल्ड) पुश करें और इसे एक बार चलाएँ:
adb push ghostlock510 /data/local/tmp/ghostlock510
adb shell chmod 755 /data/local/tmp/ghostlock510
adb shell "setsid nohup /data/local/tmp/ghostlock510 \
--use-setattr --stamp3 --perm-pc --cred-swap --install-su \
--stamp-off 0xf0 --log /data/local/tmp/ghostlock510.log \
</dev/null >/dev/null 2>&1 &"
रूट कमांड के लिए इंस्टॉल किए गए su क्लाइंट का उपयोग करें (पूर्ण पथ आवश्यक):
adb shell "/data/local/tmp/su -c 'id; getenforce'"
# uid=0(root) gid=2000(shell) groups=2000(shell) context=u:r:kernel:s0
# Permissive
su लूपबैक TCP (पोर्ट 9999) के माध्यम से एक्सप्लॉइट के डेमॉन से बात करता है; कोई
स्थायी रूट शेल संलग्न नहीं होता। कमांड लाइन-आधारित हैं, और su के अंदर su
नेस्ट करना काम नहीं करता। इंटरैक्टिव प्रोग्राम (vi, top, …) को PTY चाहिए; डेमॉन के ऊपर एक
इंटरैक्टिव su मोड भविष्य के काम के रूप में छोड़ा गया है।
इस सटीक बिल्ड पर मापा गया (देखें VERIFICATION.md):
तो: रीबूट करें, ghostlock510 एक बार चलाएँ, और उस सत्र के जीवित रहते हुए इसे दोबारा न चलाएँ। रीबूट ही क्लीनअप का रास्ता है।
बड़े बाहरी इनपुट जानबूझकर इस रिपॉज़िटरी में शामिल नहीं किए गए हैं:
vmlinux/System.map से लिए गए थे; डिवाइस पर वास्तव में चल रहे कर्नेल के साथ बाइट-स्तरीय पहचान उसकी boot_a इमेज के माध्यम से सत्यापित की गई थी।--stamp3 / --use-setattr दृष्टिकोण
इससे प्रेरित था (उस रिपॉज़िटरी में कोई लाइसेंस नहीं बताया गया है)।