Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

信息来源
漏洞原理及解决方案技术原理

漏洞说明

  • 类型:数据库注入攻击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列为风险应用是通过包名匹配,断网安装即可,如有疑惑可查阅源码,测试完及时卸载
  • 普通用户防护策略:
    1. 在厂商未修补漏洞前,请将sim卡放到使用其它品牌手机上使用
    2. 设备上的短信尽快删除,彻底删除。避免短信被用作用户画像
    3. 使用Android虚拟机或云手机安装应用
    4. 在使用短信验证时尽量保证无后台应用运行
  • 自救方案:无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,不同机型文件不一样,以实际推送为准
  • 修复效果:

强制更新

15.0.0.860Patch01|1.9MB 推送包的 电话_短信存储_15.40.10.apk仅支持ColorOS 15.0.0、15.0.1、15.0.2版本,推送包详细内容 信息来源 电报@SnowWolf725

下载 电话_短信存储.apk,注意:要跟系统版本匹配
使用adb命令:adb install -t D:\xxx.apk
安装成功后重启手机生效,出错了卸载安装版本即可

漏洞效果

可将隐私数据打码后上传到 Issues

普通用户自救方案

方案一:使用短信骚扰拦截(通用方法)

来自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提出的方法改进。⚠️修改系统内容有风险!非全部机型可用

  1. 下载ShizukuBlocker。(提示无法安装时断开网络后安装)
  2. 根据教程选择无线调试启动Shizuku
  3. Blocker设置中更改控制器种类Shizuku/SuiShizuku授权给Blocker
  4. Blocker设置中打开 显示系统应用
  5. Blocker搜索telephony,进入电话/短信存储应用
  6. 选择内容提供者,找到其中的PushMessageProviderPushShopProviderServiceNumberProvider三个选项关闭
  7. ⚠️注意:到此完成设置,效果保持到下次重启前。重启手机后将无法收到短信(能发送),必须重新开启上一步的三个选项,再重启一次才能正常收到短信。确认能收发短信之后关闭三个选项,既有拦截效果,又能正常收发信息,将保持到下次重启

无法生效说明

com.android.providers.telephonyAndroidManifest.xml存在android:testOnly="true"属性时才能修改生效,具体原因可见

root 拦截方案

无root情况下,试了系统分身、多用户、Shelter工作账号都无法拦截此漏洞
如何root请参考 ColorOS刷机路径

方案一:使用xposed模块

测试包包含模块内容,将捕获调用此漏洞的应用,拦截结果并弹窗提示和记录,仅需勾选"电话/短信存储"应用,保存日志路径/storage/emulated/0/Android/data/com.android.providers.telephony/files/yuu.log
如有发现,请提 Issues 或通过电报反馈

方案二:禁用 Provider

来自v2ex@Dawnnnnnn

  1. 下载安装 Blocker
  2. 在设置中打开 显示系统应用
  3. 搜索 telephony,进入 电话/短信存储
  4. 选择 内容提供者 ,找到其中的 PushMessageProviderPushShopProviderServiceNumberProvider 三个选项关闭
  5. 注意⚠️:重启手机后将导致无法收到短信(能发送),必须重新开启上一步的三个选项,再重启一次才能正常收到短信。确认能收发短信之后再关闭三个选项,既有拦截效果,又能正常收发信息,将保持到下次重启

方案三:限制读取数据库文件

来自酷安@kkkkkcc

  1. 打开 MT管理器,进入目录 /data/data/com.android.providers.telephony/databases/
  2. 禁用读取权限:长按 mmssms.db - 属性 - 权限 更改 - 去除读权限,包括所有者和用户组
  3. 将无法发送短信,需自测

披露时间线

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_draftsOplus 定制:草稿标记
oplus_massOplus 定制:群发标记
oplus_timerOplus 定制:定时短信标记
oplus_groupaddressOplus 定制:群组地址
oplus_collectedOplus 定制:收藏状态
oplus_sub_dateOplus 定制:订阅/时间戳
oplus_service_message_sms_typeOplus 定制:服务短信类型
bubble是否气泡显示(某些 UI 特性)
deleted删除标记(0/1)
sync_state同步状态(云端/备份相关)
sync_id同步用的唯一 ID
oplus_message_urlOplus 定制:消息中的 URL
oplus_sms_typeOplus 定制:短信类型扩展
block_type拦截类型(垃圾短信/骚扰拦截)
favourite收藏标记
rcs_message_idRCS 消息 ID
rcs_file_nameRCS 附件文件名
rcs_mime_typeRCS 附件 MIME 类型
rcs_msg_typeRCS 消息类型(文本/文件/地理位置等)
rcs_msg_stateRCS 消息状态(已读/已送达/发送中等)
rcs_chat_typeRCS 会话类型(1对1/群聊)
rcs_conversation_idRCS 会话 ID
rcs_contribution_idRCS 消息贡献 ID
rcs_file_selectorRCS 文件选择器标记
rcs_file_transferedRCS 文件是否已传输完成
rcs_file_transfer_idRCS 文件传输 ID
rcs_file_iconRCS 文件图标路径
rcs_burnRCS 阅后即焚标记
rcs_headerRCS 消息头信息
rcs_file_pathRCS 文件路径
rcs_is_downloadRCS 文件是否已下载
rcs_file_sizeRCS 文件大小
rcs_thumb_pathRCS 缩略图路径
rcs_extend_bodyRCS 扩展消息体(JSON/XML等)
rcs_media_playedRCS 媒体是否播放过
rcs_ext_contactRCS 扩展联系人信息
rcs_file_recordRCS 文件传输记录
rcs_transfer_dateRCS 文件传输时间
rcs_group_at_remindsRCS 群聊 @提醒
rcs_audio_readRCS 音频已读状态

关于 About

ColorOS短信漏洞,以及用户自救方案

语言 Languages

Java84.4%
Kotlin15.6%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
49
Total Commits
峰值: 27次/周
Less
More

核心贡献者 Contributors