导语:一个不需要任何联系人权限的应用,竟然能从你的通讯录里偷走数据。听起来不可思议,但 CVE-2026-0075 把它变成了现实。安全研究人员 QM4RS 近日公开了完整的 Android PoC,整个攻击过程无需用户交互,2026 年 6 月前的 Android 14/15/16 用户均在受影响范围内。
漏洞概述
CVE-2026-0075 是 Android 系统中 ContactsProvider2(通讯录提供者)的一个高危本地权限提升/信息泄露漏洞。攻击者可以在不申请任何联系人相关权限的情况下,通过构造特定的数据请求,利用 SQLite 错误信息中的侧信道获取通讯录数据库的敏感信息。
受影响版本:
- Android 14
- Android 15
- Android 16
- Android 16 QPR2
修复版本:2026 年 6 月 5 日及之后的安全补丁级别已修复该问题。
漏洞等级:High(高危),NVD 尚未给出最终 CVSS 评分。
技术原理
问题出在哪里?
ContactsProvider2 在接收到不带 READ_CONTACTS 权限的调用方请求时,会将详细的 SQLite 异常信息返回给调用者。这些异常信息并非普通的技术错误——它们包含与通讯录数据库内部状态相关的数据,攻击者可以从中推断出通讯录的实际内容。
这本质上是一个 SQL 侧信道攻击(SQL-related side channel)。和传统的 SQL 注入不同,这里利用的不是恶意 SQL 语句的执行,而是通过观察错误信息的差异来推断数据库中的敏感信息。
Google 的修复方案(AOSP commit bb9f36b3ff6d42136afb61d527e1e8f67242fe32,标题为”Fix side channel attacks in CP2″)做了两件事:
- 剥离敏感信息:对没有 READ_CONTACTS 权限的调用方,屏蔽包含 JSON 相关细节的 SQLiteException 消息
- 规范化异常路径:将游标实例化纳入异常处理流程,防止通过观察异常触发位置推断信息
PoC 详解
安全研究人员 QM4RS 已将完整 PoC 公布在 GitHub(qm4rs/CVE-2026-0075),包含一个特制的 Android 应用和 PowerShell 构建脚本。
PoC 特点
这个 PoC 应用有以下关键特征:
- 不声明任何联系人权限:AndroidManifest.xml 中没有 READ_CONTACTS 或 WRITE_CONTACTS 声明
- 仅请求有限的 URI 授权:使用精确的
data/<id>URI 并带有 read grant - 专为受控实验设计:用于对比修复前后的行为差异
构建步骤
PoC 的构建和运行需要以下环境:
- 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)
设置 Android SDK 路径:
$env:ANDROID_HOME = 'C:AndroidSdk'
编译打包:
Set-Location .no-permission-probe
.build.ps1
成功后在 no-permission-probebuildprobe.apk 生成签名 APK。
运行 PoC:
# 确认设备信息
adb devices
adb shell getprop ro.build.version.security_patch
# 安装并运行
Set-Location .no-permission-probe
.run-poc.ps1
# 查看日志输出
adb logcat -s CVE20260075Probe:I
验证方法
每次运行需记录以下信息以确保结果可复现:
- 设备型号或模拟器镜像、Android 版本、构建指纹、安全补丁级别
- 使用的精确 limited URI grant
- 确认目标设备仅包含合成(测试用)联系人数据
- 记录每次调用返回的是结果、经过清理的异常、未经清理的异常还是权限拒绝
- 记录异常发生的位置:provider 调用阶段还是游标消费阶段
对比修复前后的差异:修复后,调用方收到的应该是被替换为通用消息的 SQLite 错误,而不是带有 JSON 细节的原始异常。
漏洞利用限制
研究人员特别强调,这个 PoC 是构建特定(build-specific)的,不能证明所有同版本 Android 设备都存在可利用路径。不同厂商的 Android 实现可能对 ContactsProvider 进行了定制化修改,实际表现可能存在差异。
因此:
- 不要将 PoC 用于未经授权的生产设备或真实通讯录
- 不要将此视为通用漏洞利用证明
- 必须在受控环境(模拟器或授权测试设备)中使用合成数据进行测试
漏洞时间线
- 2026 年 6 月:Google 在 Android 安全公告中披露并修复该漏洞
- 2026 年 8 月:研究人员 QM4RS 公开完整 PoC 和技术分析
影响与总结
虽然这是一个本地漏洞(需要安装恶意应用),但其危害不容小觑:
- 无感知信息泄露:用户安装应用后,攻击者在后台就能通过侧信道推断通讯录内容
- 绕过权限模型:Android 的权限控制本是最后一道防线,但这个漏洞让防线在特定场景下失效
- 针对性强:攻击者可以选择特定目标进行定向信息收集
如果你正在使用 Android 14/15/16 或 16 QPR2 版本,请检查手机的安全补丁级别是否为 2026 年 6 月 5 日或更晚。如果不是,请尽快更新系统。
PoC 下载地址:https://github.com/qm4rs/cve-2026-0075
参考链接:
- Android Security Bulletin — June 2026:https://source.android.com/docs/security/bulletin/2026/2026-06-01
- AOSP 修复提交:https://android.googlesource.com/platform/packages/providers/ContactsProvider/+/bb9f36b3ff6d42136afb61d527e1e8f67242fe32
- NVD:CVE-2026-0075














暂无评论内容