漏洞说明
- 类型:数据库注入攻击
1=1 AND - 效果:任意APP读取短信数据。无需权限、无需用户交互、无感知读取
- 影响:本机的所有短信信息、短信验证码泄露
- 涉及范围:OPPO 及其子品牌(一加、realme)
- 影响范围:根据maoyixuan提交的机型显示,17年发布的ColorOS 6.0.1存在漏洞,此漏洞可能伴随了OPPO的OEM生涯
- 修复情况:10月4日开始对ColorOS 15推送系统文件更新:
15.0.0.860Patch01|1.9MB,10月9日对ColorOS 12-14推送 - 测试漏洞:国内下载 yuu_v3.6.apk,出现短信内容代表存在漏洞。测试app不存在联网功能,OPPO列为风险应用是通过包名匹配,断网安装即可,如有疑惑可查阅源码,测试完及时卸载
- 普通用户防护策略:
- 在厂商未修补漏洞前,请将sim卡放到使用其它品牌手机上使用
- 设备上的短信尽快删除,彻底删除。避免短信被用作用户画像
- 使用Android虚拟机或云手机安装应用
- 在使用短信验证时尽量保证无后台应用运行
- 自救方案:无root自救方案和root稳定拦截方案
修复情况更新(10月4日)
@C和其他热心网友,更新前确保关闭 Cross Profile Test App,不然会导致安装卡在0.0%
已确认开始推送修复,10月4日上午开始推送
- 系统版本:ColorOS 15.0.0、15.0.1、15.0.2
- 实际内容:com.android.providers.telephony 15.40.10 (35)
- 更新路径:设置 → 系统与更新 → 软件更新 → 自动更新设置 → 系统文件更新
- 系统文件:
15.0.0.860Patch01|1.9MB,不同机型文件不一样,以实际推送为准 - 修复效果:
强制更新
信息来源 电报@SnowWolf72515.0.0.860Patch01|1.9MB 推送包的 电话_短信存储_15.40.10.apk仅支持ColorOS 15.0.0、15.0.1、15.0.2版本,推送包详细内容
下载 电话_短信存储.apk,注意:要跟系统版本匹配
使用adb命令:adb install -t D:\xxx.apk
安装成功后重启手机生效,出错了卸载安装版本即可
漏洞效果
普通用户自救方案
方案一:使用短信骚扰拦截(通用方法)
来自v2ex@CoolMarket
打开短信骚扰拦截,拦截所有号码,这样短信就会被收进骚扰拦截里,用软件测试发现读取不到短信
路径:短信 → 骚扰拦截 → 拦截规则 → 信息拦截 → 自定义拦截关键词 → 右上角➕号 → 按行复制输入以下内容
0,1,2,3,4,5,6,7,8,9 #,*,+,@,.,【,(,(,, -,/,!,码,中,余,元,退, a,b,c,d,e,f,g,h,i,j, k,l,m,n,o,p,q,r,s,t, u,v,w,x,y,z,A,B,C,D, E,F,G,H,I,J,K,L,M,N, O,P,Q,R,S,T,U,V,W,X, Y,Z,零,一,二,三,四,五,六, 七,八,九,十,百,千,万






验证:接收一条新的短信(给10086发信息),收到短信后在骚扰拦截那里会出现一条拦截信息,然后打开测试工具查看该信息是否出现,没有该信息的话说明此方法有效
此方案最简单,建议旧机型优先使用此方案
方案二:使用Shizuku修改
基于v2ex@Dawnnnnnn提出的方法改进。⚠️修改系统内容有风险!非全部机型可用
- 下载Shizuku和Blocker。(提示无法安装时断开网络后安装)
- 根据教程选择无线调试启动Shizuku
Blocker设置中更改控制器种类为Shizuku/Sui,Shizuku授权给BlockerBlocker设置中打开显示系统应用Blocker搜索telephony,进入电话/短信存储应用- 选择
内容提供者,找到其中的PushMessageProvider、PushShopProvider、ServiceNumberProvider三个选项关闭 - ⚠️注意:到此完成设置,效果保持到下次重启前。重启手机后将无法收到短信(能发送),必须重新开启上一步的三个选项,再重启一次才能正常收到短信。确认能收发短信之后关闭三个选项,既有拦截效果,又能正常收发信息,将保持到下次重启


无法生效说明
当com.android.providers.telephony里AndroidManifest.xml存在android:testOnly="true"属性时才能修改生效,具体原因可见
root 拦截方案
无root情况下,试了系统分身、多用户、Shelter工作账号都无法拦截此漏洞
如何root请参考 ColorOS刷机路径
方案一:使用xposed模块
测试包包含模块内容,将捕获调用此漏洞的应用,拦截结果并弹窗提示和记录,仅需勾选"电话/短信存储"应用,保存日志路径/storage/emulated/0/Android/data/com.android.providers.telephony/files/yuu.log
如有发现,请提 Issues 或通过电报反馈
方案二:禁用 Provider
- 下载安装 Blocker
- 在设置中打开
显示系统应用 - 搜索
telephony,进入电话/短信存储 - 选择
内容提供者,找到其中的PushMessageProvider、PushShopProvider、ServiceNumberProvider三个选项关闭 - 注意⚠️:重启手机后将导致无法收到短信(能发送),必须重新开启上一步的三个选项,再重启一次才能正常收到短信。确认能收发短信之后再关闭三个选项,既有拦截效果,又能正常收发信息,将保持到下次重启
方案三:限制读取数据库文件
来自酷安@kkkkkcc
- 打开
MT管理器,进入目录/data/data/com.android.providers.telephony/databases/ - 禁用读取权限:长按
mmssms.db-属性-权限 更改-去除读权限,包括所有者和用户组 - 将无法发送短信,需自测
披露时间线
2025年5月1日:Rapid7通过电子邮件联系一加安全响应中心(OneSRC),请求就漏洞披露进行沟通。未收到回复。
2025年5月6日:Rapid7再次通过电子邮件联系OneSRC。未收到回复。
2025年7月2日:Rapid7同时通过电子邮件联系一加客服支持团队和OneSRC。
2025年7月3日:一加客服回复称将向内部相关团队转达Rapid7请求,随后联系获取更多信息。此后再未收到后续回复。
2025年7月10日:Rapid7联系一加客服要求跟进。未收到回复。
2025年7月22日:Rapid7向OneSRC的X平台账号发送消息,请求漏洞披露沟通渠道。未获回应。
2025年8月16日:Rapid7联系与OnePlus存在业务往来的 OPPO CNA 代表,请求引荐 OneSRC 团队。未获回应。
2025年9月23日:Rapid7认定OnePlus为未响应供应商,通过本披露博文公开发布CVE-2025-10184漏洞。
2025年9月24日:研究发布后,OnePlus回复Rapid7确认收到披露信息,并表示正在调查该问题。
2025年10月4日:厂商已开始向ColorOS 15部分机型发送漏洞修补推送包860Patch(仓库补充)
漏洞调用字段含义
SELECT address FROM sms ORDER BY rowid DESC LIMIT 3
- LIMIT 3:最近的 3 个
- body:短信正文内容。可修改为下面的任意字段
| 字段名 | 含义说明 |
|---|---|
| _id | 主键,自增 ID |
| thread_id | 会话 ID,归属到哪个对话线程 |
| address | 短信发送方或接收方号码 |
| person | 联系人 ID(可能对应 Contacts 表) |
| date | 收到/发送时间(毫秒时间戳) |
| date_sent | 实际发送时间(对发出短信有效) |
| protocol | 协议:0=SMS, 1=MMS |
| read | 是否已读(0=未读, 1=已读) |
| status | 发送状态(-1=接收, 0=成功, 64=待发送等) |
| 输入 | 短信类型(1=收件箱, 2=已发件, 3=草稿等) |
| reply_path_present | 是否设置了回复路径 |
| subject | 短信主题(MMS 可能有) |
| body | 短信正文内容 |
| service_center | 服务中心号码 (SMSC) |
| locked | 是否锁定(防止被系统清理) |
| sub_id | 使用的 SIM 卡 ID |
| phone_id | 手机卡槽 ID |
| error_code | 发送错误码 |
| creator | 创建该短信的应用包名 |
| seen | 是否已在界面展示(0/1) |
| priority | 短信优先级(厂商/IMS扩展) |
| m_size | 消息大小(多见于 MMS) |
| oplus_drafts | Oplus 定制:草稿标记 |
| oplus_mass | Oplus 定制:群发标记 |
| oplus_timer | Oplus 定制:定时短信标记 |
| oplus_groupaddress | Oplus 定制:群组地址 |
| oplus_collected | Oplus 定制:收藏状态 |
| oplus_sub_date | Oplus 定制:订阅/时间戳 |
| oplus_service_message_sms_type | Oplus 定制:服务短信类型 |
| bubble | 是否气泡显示(某些 UI 特性) |
| deleted | 删除标记(0/1) |
| sync_state | 同步状态(云端/备份相关) |
| sync_id | 同步用的唯一 ID |
| oplus_message_url | Oplus 定制:消息中的 URL |
| oplus_sms_type | Oplus 定制:短信类型扩展 |
| block_type | 拦截类型(垃圾短信/骚扰拦截) |
| favourite | 收藏标记 |
| rcs_message_id | RCS 消息 ID |
| rcs_file_name | RCS 附件文件名 |
| rcs_mime_type | RCS 附件 MIME 类型 |
| rcs_msg_type | RCS 消息类型(文本/文件/地理位置等) |
| rcs_msg_state | RCS 消息状态(已读/已送达/发送中等) |
| rcs_chat_type | RCS 会话类型(1对1/群聊) |
| rcs_conversation_id | RCS 会话 ID |
| rcs_contribution_id | RCS 消息贡献 ID |
| rcs_file_selector | RCS 文件选择器标记 |
| rcs_file_transfered | RCS 文件是否已传输完成 |
| rcs_file_transfer_id | RCS 文件传输 ID |
| rcs_file_icon | RCS 文件图标路径 |
| rcs_burn | RCS 阅后即焚标记 |
| rcs_header | RCS 消息头信息 |
| rcs_file_path | RCS 文件路径 |
| rcs_is_download | RCS 文件是否已下载 |
| rcs_file_size | RCS 文件大小 |
| rcs_thumb_path | RCS 缩略图路径 |
| rcs_extend_body | RCS 扩展消息体(JSON/XML等) |
| rcs_media_played | RCS 媒体是否播放过 |
| rcs_ext_contact | RCS 扩展联系人信息 |
| rcs_file_record | RCS 文件传输记录 |
| rcs_transfer_date | RCS 文件传输时间 |
| rcs_group_at_reminds | RCS 群聊 @提醒 |
| rcs_audio_read | RCS 音频已读状态 |