Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-12960 — CVE-2026-12960 - ASUS Router ऐप (com.asus.aihome) में Android अनुप्रयोग घटकों का अनुचित निर्यात। PoC, exploit APK, वीडियो और विक्रेता रिपोर्ट। संस्करण 1.0.0.9.74 में ठीक किया गया। | Kitploit
उपकरण/GitHubGitHub/l0lsec/cve-2026-12960
एंड्रॉइड सुरक्षाभेद्यता विश्लेषणशोषणमोबाइल ऐप पेंटेस्टिंगपेनिट्रेशन टेस्टिंगमोबाइल सुरक्षा
GitHubl0lsec/cve-2026-12960

CVE-2026-12960

CVE-2026-12960 - ASUS Router ऐप (com.asus.aihome) में Android अनुप्रयोग घटकों का अनुचित निर्यात। PoC, exploit APK, वीडियो और विक्रेता रिपोर्ट। संस्करण 1.0.0.9.74 में ठीक किया गया।

रिपॉजिटरी देखें
41 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

CVE-2026-12960

ASUS राउटर ऐप में एंड्रॉयड एप्लिकेशन घटकों का अनुचित निर्यात

ASUS राउटर एंड्रॉयड ऐप (com.asus.aihome) में बंडल किया गया एक घटक android:exported="true" के साथ और बिना किसी android:permission के घोषित किया गया था। उसी डिवाइस पर मौजूद कोई भी अन्य ऐप, जिसके पास शून्य अनुमतियाँ हों, उसे एक क्राफ्टेड Intent भेज सकता था और ASUS राउटर ऐप को उपयोगकर्ता की ओर से एक हमलावर-नियंत्रित URI खोलने पर मजबूर कर सकता था।

2026-03-17 को ASUS को सूचित किया गया। ASUS द्वारा ठीक किया गया और 2026-07-03 को CVE-2026-12960 के रूप में प्रकाशित किया गया।

Show Up Show Out Security के Sedric Louissaint द्वारा खोजा और रिपोर्ट किया गया।


सारांश

CVECVE-2026-12960
उत्पादएंड्रॉयड के लिए ASUS राउटर ऐप (com.asus.aihome)
प्रभावित≤ 1.0.0.9.71
इसमें ठीक किया गया1.0.0.9.74
कमज़ोरीCWE-926: एंड्रॉयड एप्लिकेशन घटकों का अनुचित निर्यात
CVSS 4.06.0 मध्यम CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
CNAASUS
विक्रेता सलाहhttps://www.asus.com/security-advisory/
परीक्षितcom.asus.aihome 1.0.0.9.71 (Google Play), एंड्रॉयड 11 इम्यूलेटर

तकनीकी विवरण

ऐप Baidu Push SDK को बंडल करता है, जो घोषित करता है:

root@kitploit:~
<service
    android:name="com.baidu.android.pushservice.CommandService"
    android:exported="true" />

कोई android:permission विशेषता नहीं है, इसलिए एंड्रॉयड का घटक-स्तरीय अभिगम नियंत्रण कभी नहीं चलता। कोई भी स्थापित ऐप उसके विरुद्ध startService() को कॉल कर सकता है।

CommandService.onStartCommand() आने वाले Intent के public_msg अतिरिक्त डेटा से एक PublicMsg Parcelable पढ़ता है और उसे handlePrivateNotification() को भेजता है, जो हमलावर-आपूर्ति किए गए mOpenType फ़ील्ड पर शाखा बनाता है:

mOpenTypeव्यवहार
1हमलावर के mUrl के साथ startActivity(ACTION_VIEW, Uri.parse(mUrl))

न तो भेजने वाले और न ही पेलोड को मान्य किया जाता है। चूँकि परिणामी गतिविधि ASUS ऐप के स्वयं के UID और प्रक्रिया से लॉन्च की जाती है, स्क्रीन पर जो कुछ भी दिखाई देता है वह भरोसेमंद राउटर-प्रबंधन ऐप से आया हुआ प्रतीत होता है जिसे उपयोगकर्ता ने अभी खोला है।

प्रभाव की दृष्टि से इसमें कुछ भी Baidu-विशिष्ट नहीं है। SDK निर्यातित घटक भेजता है, होस्ट ऐप इसे विरासत में प्राप्त करता है, और होस्ट ऐप की पहचान ही वह है जो उधार ली जाती है।

हमले की श्रृंखला

  1. दुर्भावनापूर्ण ऐप लक्ष्य के फ़ील्ड लेआउट से मेल खाता हुआ एक PublicMsg Parcelable बनाता है।
  2. mOpenType = 1 और mUrl को हमलावर-नियंत्रित URI पर सेट करता है।
  3. Intent को CommandService को भेजता है। कोई अनुमति आवश्यक नहीं, कोई SecurityException नहीं।
  4. onStartCommand() → handlePrivateNotification()।
  5. startActivity(ACTION_VIEW, Uri.parse(mUrl)) ASUS ऐप की प्रक्रिया से चलता है।

PublicMsg फ़ील्ड क्रम, जो डीकंपाइल किए गए smali में writeToParcel से प्राप्त किया गया और poc/PublicMsg.java में पुनः कार्यान्वित किया गया:

root@kitploit:~
String mMsgId, mAppId, mTitle, mDescription, mUrl, mPkgName
int    mPkgVercode, mNotificationBuilder, mNotificationBasicStyle
int    mOpenType, mUserConfirm
String mCustomContent, mPkgContent
int    mAdvertiseStyle
String mAdvertiseSmallIconUrl, mAdvertiseLargeIconUrl, mAdvertiseClickUrl,
       mAdvertiseBigPictureUrl, mAdvertiseBigPictureClickUrl, mAdvertiseDownloadClickUrl

क्रम गलत पाएँ और Parcel कचरे में अनमार्शल हो जाता है। इसे सही पाएँ और सेवा संदेश को स्वीकार कर लेती है जैसे कि Baidu का अपना पुश इन्फ्रास्ट्रक्चर इसे भेज रहा हो।

प्रदर्शित पेलोड

छह URI योजनाएँ, एक निर्यातित सेवा, शून्य अनुमतियाँ:

प्रूफ ऑफ कॉन्सेप्ट

media/poc_commandservice.mp4 पूर्ण 31-सेकंड की रन है: बिल्ड, इंस्टॉल, फायर, और इम्यूलेटर प्रत्येक पेलोड पर क्रम से प्रतिक्रिया करता है।

हमला 1: फ़िशिंग पृष्ठहमला 2: SMS कंपोज़रहमला 3: डायलरPoC ऐप की अनुमतियाँ
ब्राउज़र एक हमलावर URL पर खोला गयानकली ASUS सुरक्षा चेतावनी के साथ पहले से भरा SMS कंपोज़र

वह अंतिम स्क्रीनशॉट पूरी दलील है। कोई अनुमति अनुरोध नहीं। जिस ऐप ने ASUS राउटर ऐप के माध्यम से छह क्रियाएँ चलाईं, उसने उपयोगकर्ता से कुछ भी नहीं माँगा।

पुनरुत्पादन

ADB, एक JDK, और एंड्रॉयड SDK बिल्ड टूल्स (aapt2, d8/dx, zipalign, apksigner) के साथ-साथ platforms;android-30 की आवश्यकता है।

root@kitploit:~
./poc/poc_commandservice_exploit.sh <device_serial>

स्क्रिप्ट तीन चरण चलाती है:

  1. अभिगम जाँच। com.android.shell से तीन CommandService क्रियाएँ भेजता है और रिपोर्ट करता है कि क्या कोई अस्वीकार की गई है। अनुमति-संरक्षित सेवा यहाँ SecurityException फेंकती है। इसने तीनों को स्वीकार कर लिया।
  2. बिल्ड। PoC संकलित करता है, exploit_commandservice.apk को पैकेज और हस्ताक्षरित करता है, और इसे इंस्टॉल करता है। यदि आप इसे छोड़ना चाहें तो poc/ में एक पूर्व-निर्मित प्रति है।
  3. निष्पादन। ASUS ऐप को अग्रभूमि में लाता है, PoC को एक गैर-विशेषाधिकार प्राप्त ऐप संदर्भ से लॉन्च करता है, और logcat साक्ष्य कैप्चर करता है।

असुरक्षित डिवाइस पर चरण 1 का आउटपुट:

root@kitploit:~
[ACCESS]  passthrough.notification.CLICK → service accepted intent
[ACCESS]  privatenotification.CLICK      → service accepted intent
[ACCESS]  privatenotification.DELETE     → service accepted intent

  Phase 1 result: 3/3 actions accepted without permission check

और dumpsys activity services से ServiceRecord, जो कॉल करने वाले को रिकॉर्ड करता है:

root@kitploit:~
intent={act=com.baidu.android.pushservice.action.privatenotification.CLICK
        cmp=com.asus.aihome/com.baidu.android.pushservice.CommandService}
recentCallingPackage=com.android.shell
startRequested=true callStart=true

चरण 3, शेल के बजाय एक वास्तविक गैर-विशेषाधिकार प्राप्त ऐप से:

root@kitploit:~
W PoCExploit: [OK] attack1_url_open → com.asus.aihome/com.baidu.android.pushservice.CommandService
W PoCExploit: [OK] attack2_sms_compose → ...
(all 6 succeed)

startService() ने null के बजाय लक्ष्य ComponentName लौटाया, और कोई SecurityException नहीं फेंका गया। एंड्रॉयड ने Intent को हल किया और उसे वितरित किया।

रिपॉज़िटरी सामग्री

root@kitploit:~
poc/
  poc_commandservice_exploit.sh   Automated three-phase reproduction script
  ExploitCommandService.java      PoC activity + broadcast receiver source
  PublicMsg.java                  Parcelable matching the target's field layout
  AndroidManifest_PoC.xml         PoC manifest (note: no <uses-permission>)
  exploit_commandservice.apk      Prebuilt PoC, debug-signed, zero permissions
media/
  poc_commandservice.mp4          Full PoC recording
  attack1-browser.jpg             Stills pulled from the recording
  attack2-sms.jpg
  attack3-dialer.jpg
  poc-app-no-permissions.jpg
vendor/
  asus-security-advisory-submission.pdf   The report as filed with ASUS

PoC का आउटबाउंड URL एक Burp Collaborator सबडोमेन है जिसका उपयोग यह पुष्टि करने के लिए किया गया था कि नेविगेशन वास्तव में हुआ। यह बहुत पहले मर चुका है। यदि आप पुनरुत्पादन कर रहे हैं तो अपना स्वयं का डालें।

उपचार

विक्रेता के लिए, समाधान एक विशेषता है:

root@kitploit:~
<service
    android:name="com.baidu.android.pushservice.CommandService"
    android:exported="false" />

या, यदि घटक को वास्तव में बाहर से पहुँच योग्य होना है, तो इसे signature-सुरक्षा-स्तर की अनुमति से गेट करें और उस पर कार्रवाई करने से पहले डिसीरियलाइज़ किए गए PublicMsg को मान्य करें। ASUS ने 1.0.0.9.74 में समाधान भेजा।

उपयोगकर्ताओं के लिए: ASUS राउटर ऐप को 1.0.0.9.74 या बाद के संस्करण में अपडेट करें।

एंड्रॉयड ऐप भेजने वाले बाकी सभी के लिए: ऑडिट करें कि आपके तृतीय-पक्ष SDK क्या निर्यात करते हैं। अपनी खुद की रिलीज़ बिल्ड के विरुद्ध aapt dump xmltree base.apk AndroidManifest.xml चलाएँ और उसमें हर exported="true" पढ़ें। आप जो मेनिफेस्ट भेजते हैं वह आपके द्वारा मर्ज किए गए हर मेनिफेस्ट का योग है, और उस सबके लिए आप ही उत्तरदायी हैं।

समयरेखा

दिनांकघटना
2026-03-17PoC APK, स्वचालित स्क्रिप्ट और वीडियो के साथ ASUS को रिपोर्ट किया गया
2026-06-23CVE-2026-12960 को CNA के रूप में ASUS द्वारा आरक्षित किया गया
2026-07-03CVE प्रकाशित; समाधान 1.0.0.9.74 में उपलब्ध
2026-07-25सार्वजनिक लेख और PoC जारी किए गए

लेख

  • व्यक्तिगत ब्लॉग: https://sedriclouissaint.com/blog/asus-router-app-exported-commandservice-cve-2026-12960
  • Show Up Show Out Security: https://susos.co/blog/improper-export-of-android-components-in-the-asus-router-app-cve-2026-12960

अस्वीकरण

समन्वित प्रकटीकरण और विक्रेता समाधान के बाद, रक्षात्मक और शैक्षिक उपयोग के लिए प्रकाशित। PoC एक पैच किए गए संस्करण को लक्षित करता है और URI लॉन्च करने के अलावा कुछ नहीं करता है। इसे उन डिवाइसों के विरुद्ध न चलाएँ जिनके मालिक आप नहीं हैं या जिनके परीक्षण के लिए आपके पास लिखित प्राधिकरण नहीं है।

टूल डाउनलोड करें
2Intent.parseUri(mPkgContent, 0) फिर startActivity() / sendBroadcast()
#योजनापरिणाम
1https:ब्राउज़र हमलावर-नियंत्रित फ़िशिंग पृष्ठ खोलता है
2sms:सामाजिक-इंजीनियरिंग संदेश के साथ पहले से भरा SMS कंपोज़र
3tel:हमलावर-नियंत्रित नंबर के साथ पहले से भरा डायलर
4mailto:क्रेडेंशियल बाहर निकालने के लिए पहले से भरा ईमेल कंपोज़र
5market:मैलवेयर इंस्टॉलेशन के लिए Play Store पुनर्निर्देशन
6geo:नकली सेवा केंद्र पर मानचित्र पुनर्निर्देशन
हमलावर नंबर के साथ पहले से भरा डायलर
एंड्रॉयड ऐप जानकारी स्क्रीन जिसमें "कोई अनुमति अनुरोध नहीं" दिख रहा है