无需任何权限!Android ContactsProvider SQL注入漏洞CVE-2026-0075公开PoC

导语:大多数Android权限漏洞的门槛在于——你需要用户授权才能动他的联系人。但CVE-2026-0075不一样。安全研究人员QM4RS发布的公开PoC证明,ContactsProvider组件中存在SQL注入,可以不需要任何READ_CONTACTS或WRITE_CONTACTS权限,直接从联系人数据库中捞数据。这个漏洞已在6月Android安全更新中修复,但公开PoC一出,攻击门槛瞬间降到了地面。


一、漏洞概述

CVE-2026-0075 是Android系统中一处本地权限提升漏洞,位于 ContactsProvider2 组件。

基础信息:

项目详情
CVE编号CVE-2026-0075
漏洞类型SQL注入(JSON错误侧信道)
影响组件Android ContactsProvider2
严重程度高危(High)
影响系统Android 14、15、16、16 QPR2
修复版本2026年6月5日安全补丁级别及之后
PoC发布QM4RS(GitHub公开)

二、技术分析

攻击原理

该漏洞的核心是 ContactsProvider2 中的JSON错误侧信道

正常情况下,如果应用没有 READ_CONTACTS 权限,系统会拒绝访问联系人数据——这是Android权限模型的基础防线。

但ContactsProvider2在处理某些查询时,会将 SQLiteException错误信息以JSON格式返回给无权限调用者。攻击者可以通过精心构造的查询参数触发特定SQL错误,观察错误信息中的差异——这就是侧信道攻击。

通过这种方式,即使没有任何权限,攻击者也能推断出联系人数据库的内容。

AOSP官方修复

Google已在AOSP中推送了修复提交(commit bb9f36b3ff6d42136afb61d527e1e8f67242fe32),标题为 “Fix side channel attacks in CP2”(修复CP2中的侧信道攻击)。

修复方案:

  • 对没有 READ_CONTACTS 权限的调用者,剥离JSON相关的SQLiteException错误信息
  • 将cursor实例化纳入异常处理路径,避免错误信息泄露

为什么这个漏洞危险?

  1. 零权限要求 — 攻击者不需要用户授予任何联系人权限
  2. 无需用户交互 — 不需要用户点击任何链接或安装任何恶意App
  3. 本地攻击 — 在设备上运行的应用都可以尝试触发
  4. 侧信道绕过 — 通过错误信息的细微差异泄露数据,传统的权限模型完全无法防御

三、PoC技术细节

QM4RS 在 GitHub 上发布了完整的 PoC 项目:github.com/QM4RS/CVE-2026-0075

项目结构:

no-permission-probe/
├── build.ps1        # 编译、打包、对齐、签名APK
├── run-poc.ps1      # 安装APK并启动受控探测
├── AndroidManifest.xml   # 未声明任何权限
├── res/             # Android资源文件
└── src/             # 应用程序源码

核心特点:

  • 独立Android应用,不声明任何 READ_CONTACTS 或 WRITE_CONTACTS 权限
  • 用于在受控环境中对比有补丁/无补丁的行为差异
  • 专门设计用于对比修复前后的行为变化,不能替代官方补丁验证

运行环境要求:

  • Windows + PowerShell 5.1 或 PowerShell 7+
  • JDK(javac、jar、keytool已在PATH)
  • Android SDK Platform android-35
  • Android SDK Build-Tools 36.0.0
  • Android Platform Tools(adb)
  • 仅使用合成(Synthetic)联系人数据的模拟器或测试设备

编译与运行:

# 设置Android SDK路径
$env:ANDROID_HOME = 'C:AndroidSdk'

# 编译
Set-Location .no-permission-probe
.build.ps1

# 运行PoC
.run-poc.ps1

# 查看日志
adb logcat -s CVE20260075Probe:I

注意: PoC为特定构建版本设计,在一种镜像上成功不代表所有同版本Android设备均受影响,必须在受控环境中验证。


四、影响范围

受影响版本:

  • Android 14
  • Android 15
  • Android 16
  • Android 16 QPR2

不受影响版本:

  • 已安装 2026年6月5日 或更新安全补丁级别的设备

五、修复与防护

立即行动:

  1. 检查设备补丁级别 — 在设备上运行以下命令确认:
   adb shell getprop ro.build.version.security_patch

确保返回日期为 2026-06-05 或更晚

  1. 推动企业设备更新 — 企业移动管理(EMM/MDM)平台应强制推送Android安全更新
  2. 监控异常行为 — 关注应用对ContactsProvider的异常访问日志

开发人员:

  • 如应用使用ContentProvider,审查所有查询参数的输入验证
  • 确保异常信息不会在非授权路径中泄露实现细节

六、参考资料与下载

⬇️ PoC下载: 👉 https://github.com/QM4RS/CVE-2026-0075

📋 Google官方安全公告: 👉 https://source.android.com/docs/security/bulletin/2026-06-01

🔧 AOSP修复提交: 👉 https://android.googlesource.com/platform/packages/providers/ContactsProvider/+/bb9f36b3ff6d42136afb61d527e1e8f67242fe32

📄 NVD详情: 👉 https://nvd.nist.gov/vuln/detail/CVE-2026-0075


版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容