Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-12960 — CVE-2026-12960 - ASUS 路由器应用(com.asus.aihome)中 Android 应用组件导出不当。包含 PoC、漏洞利用 APK、视频和厂商报告。已在 1.0.0.9.74 中修复。 | Kitploit
工具/GitHubGitHub/l0lsec/cve-2026-12960
Android安全漏洞分析漏洞利用移动应用渗透测试渗透测试移动安全
GitHubl0lsec/cve-2026-12960

CVE-2026-12960

CVE-2026-12960 - ASUS 路由器应用(com.asus.aihome)中 Android 应用组件导出不当。包含 PoC、漏洞利用 APK、视频和厂商报告。已在 1.0.0.9.74 中修复。

查看仓库
27天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

CVE-2026-12960

华硕路由器应用中的 Android 应用组件导出不当

华硕路由器 Android 应用(com.asus.aihome)中捆绑的一个组件被声明为 android:exported="true",且未设置 android:permission。同一设备上的任何其他应用,即使不持有任何权限,也可以向其发送精心构造的 Intent,并让华硕路由器应用以用户名义打开攻击者控制的 URI。

于 2026-03-17 向华硕报告。华硕已修复,并作为 CVE-2026-12960 于 2026-07-03 发布。

由 Show Up Show Out Security 的 Sedric Louissaint 发现并报告。


摘要

CVECVE-2026-12960
产品适用于 Android 的华硕路由器应用(com.asus.aihome)
受影响版本≤ 1.0.0.9.71
修复版本1.0.0.9.74
弱点类型CWE-926:Android 应用组件导出不当
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),Android 11 模拟器

技术细节

该应用捆绑了百度推送 SDK,其中声明了:

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

由于没有 android:permission 属性,Android 的组件级访问控制根本不会生效。任何已安装的应用都可以对其调用 startService()。

CommandService.onStartCommand() 会从传入 Intent 的 public_msg extra 中读取一个 PublicMsg Parcelable,并将其传递给 handlePrivateNotification(),后者会根据攻击者提供的 mOpenType 字段进行分支处理:

mOpenType行为
1使用攻击者的 mUrl 调用 startActivity(ACTION_VIEW, Uri.parse(mUrl))

发送方和载荷均未经过验证。由于最终启动的 activity 来自华硕应用自身的 UID 和进程,因此屏幕上出现的任何内容看起来都像是来自用户刚刚打开的可信路由器管理应用。

实际上,这个问题并非百度所独有。SDK 提供了导出的组件,宿主应用继承了它,而被借用的是宿主应用的身份。

攻击链

  1. 恶意应用构造一个与目标字段布局匹配的 PublicMsg Parcelable。
  2. 设置 mOpenType = 1,并将 mUrl 设置为攻击者控制的 URI。
  3. 将 Intent 发送给 CommandService。无需任何权限,不会抛出 SecurityException。
  4. onStartCommand() → handlePrivateNotification()。
  5. startActivity(ACTION_VIEW, Uri.parse(mUrl)) 从华硕应用的进程中触发。

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 反序列化出来的就是垃圾数据;顺序正确,服务就会像对待百度自家推送基础设施发送的消息一样接受它。

演示载荷

六种 URI scheme、一个导出的服务、零权限:

概念验证

media/poc_commandservice.mp4 是完整的 31 秒运行过程:构建、安装、触发,以及模拟器依次响应每个载荷。

攻击 1:钓鱼页面攻击 2:短信编辑器攻击 3:拨号器PoC 应用的权限
浏览器打开了攻击者 URL短信编辑器预填了假冒的华硕安全警报拨号器预填了攻击者号码

最后一张截图就是全部论据。未请求任何权限。 刚刚通过华硕路由器应用驱动了六种操作的这个应用,对用户什么要求都没有。

复现步骤

需要 ADB、JDK、Android 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. 执行。 将华硕应用带到前台,从无特权应用上下文中启动 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,来自真实的无特权应用(而非 shell):

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() 返回了目标 ComponentName 而不是 null,并且没有抛出 SecurityException。Android 解析了 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 采取行动之前对其进行验证。华硕在 1.0.0.9.74 中发布了修复。

对用户而言:请将华硕路由器应用更新到 1.0.0.9.74 或更高版本。

对于所有发布 Android 应用的其他开发者:请审计你的第三方 SDK 导出了什么。对你的正式发布构建运行 aapt dump xmltree base.apk AndroidManifest.xml,并阅读其中每一个 exported="true"。你发布的 manifest 是你合并的所有 manifest 的总和,你要为它的全部内容负责。

时间线

日期事件
2026-03-17向华硕报告,附上 PoC APK、自动化脚本和视频
2026-06-23华硕作为 CNA 为 CVE-2026-12960 保留编号
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 之外不会做任何事。请不要在非你所有或未经书面授权测试的设备上运行它。

下载工具
2先执行 Intent.parseUri(mPkgContent, 0),再 startActivity() / sendBroadcast()
#Scheme结果
1https:浏览器打开攻击者控制的钓鱼页面
2sms:短信编辑器预填社会工程学消息
3tel:拨号器预填攻击者控制的号码
4mailto:邮件编辑器预填内容以窃取凭据
5market:跳转 Play Store 以安装恶意软件
6geo:地图跳转到假冒的服务中心
Android 应用信息屏幕显示“未请求任何权限”