一条空短信能让安卓断网一周,补丁只发到安卓 14

一条空短信能让安卓断网一周,补丁只发到安卓 14

2026-11-13 05:15:40 0点赞 0收藏 0评论

你正在打电话,对面声音突然没了,屏幕跳到"无信号"。两秒后自己好了。

你大概率会当成走到了电梯口。但如果这是一台安卓机,接下来几天同样的事反复出现,信号掉下去不再自己回来,连拨号界面都在闪退——那可能就不是信号的问题了。

10 月 29 日,一个被研究者叫做"死亡短信"(SMS of Death)的安卓漏洞走完披露期,细节全部公开。我把三易生活、IT 之家转引的 gigazine 报道、研究者自己挂出来的原始材料,加上两份独立的技术拆解放在一起对了一遍,时间线能对上,几个关键数字各家说法也一致。

这洞吓人的地方在于:它不需要你点任何东西。

它压根不进收件箱

普通短信你能看见发件人。触发这个漏洞的是另一种东西,叫 WAP Push 数据短信——早年为彩信设计的"敲门砖",运营商先发一条告诉手机"服务器上有条彩信等你下载"。这类短信走专门的端口,不进收件箱,不占套餐条数,你也看不到是谁发来的。

问题出在系统解析它的那段代码上。安卓收到 WAP Push,会交给电话框架里的 WapPushOverSms 处理。它先从消息里读出一个"头部长度",再拿这个长度去申请一块内存。长度先存在一个较宽的整数类型里,接着被直接强转成较窄的有符号 int,中间没做范围检查。某些数值转完就成了负数,而 Java 不允许负数长度的数组,于是抛出一个 NegativeArraySizeException。这个异常没人接,一路把负责通话的 com.android.phone 进程带崩。

你看到的现象就是:断网两秒,正在打的电话被挂断。

有人去翻了安卓源码的提交记录:这段代码 2009 年就进了安卓,直到今年才合入修复,中间隔了 6068 天。

真正麻烦的是运营商会重发

进程崩了,手机没能给运营商回一句"收到"。运营商按重发策略再投一次,手机再崩一次。研究者的公开材料里写,这个循环大约每 90 秒一轮,最长能让手机断续掉线一周。

要是对方一口气发几十条,崩溃就会和短信数据库的写入操作撞上,触发竞态,把存短信的 SQLite 库写坏。走到这一步,com.android.phone 每次开机读库就崩,重启也救不回来。

这里必须插一句:恢复出厂只能暂时好使。运营商那边还挂着一条没送达的消息,你重置完它照样再推,然后接着崩。网上流传的那套自救动作——飞行模式开关十五秒、还原网络设置、换张 SIM 卡、反复重启——对这个问题一条都不管用。

但也别现在就慌

三件事得说清楚。

一,它是拒绝服务,不是窃密。攻击者读不到你的照片,偷不走密码,也没法远程操控手机。

二,它得有人专门冲你来。攻击者要知道你的号码,还得自己搭环境去发这种畸形数据短信。概念验证代码确实已经公开挂在 GitHub 上,门槛比去年低了,但这仍然是一件"针对特定人"才有意义的操作,攻击者很难从里面拿到钱。这也正是它能躺这么多年没人管的原因。顺带说一句,拿这东西去发别人手机在国内是违法的,干扰别人拨打紧急电话更是重罪,下面只讲自查和自救。

三,公开信息里我没找到国内普通用户被定向攻击的记录。11 月的安卓安全公告也明确没提这批漏洞已被利用。

所以这篇要解决的是另一件事:你这台到底修没修。

三十秒自查,只看一个日期

设置 → 关于手机 → Android 版本,找"Android 安全补丁级别"那一行,有的品牌写作"Android 安全更新"。

别把三个东西搞混:Android 版本号、Android 安全补丁级别、Google Play 系统更新。这次要看的是中间那个。11 月的安卓安全公告分了两档补丁级别,只有靠后那档 2026-11-05 覆盖本期全部修复。国内推送节奏由各品牌和运营商自己定,谷歌只公布 Pixel 的安排,所以你的手机显示"暂无更新",不代表厂商不打算推。

对完日期,三种情况:

日期在 2026-10-01 或更晚——这个洞跟你没关系了,别折腾。

日期更早,但系统是安卓 14 及以上——补丁在路上。去软件更新里点一下检查,等就行。这段时间千万别去下来路不明的"补丁包",那玩意儿的风险比这个洞大多了。

系统卡在安卓 13 及以下——这条最难受。谷歌这次的修复只下发给安卓 14 到 17。安卓 14 是三年前发布的系统,在那之前出厂、后来也没升上来的机器,这个补丁永远不会来。

顺便说个我这两天看到不少人搞混的地方。11 月公告里最严重的那个是 CVE-2026-58868,出在 Framework,能远程执行代码,同样零点击,影响安卓 14 到 17。它和"死亡短信"是两个洞:死亡短信至今没有 CVE 编号,修在 10 月那批补丁里,性质是拒绝服务。两件事的解法一样——把补丁打上——但别拿一个的结论去套另一个。

还有一件我查不到的事。研究者公开的复现记录里,测的是 Pixel 和几款三星 Galaxy、A 系列,全部复现。名单里没有国产机,也没有鸿蒙。所以"国产安卓全中招"这种话,我找不到依据;反过来,"我用鸿蒙所以没事"我也没法替你确认——出问题的代码在安卓开源项目的 telephony 组件里,鸿蒙用的是不是同一套,没有公开结论。华为把安全更新分成月度和季度两批名单,季度那批大多是两三年前的机型,节奏本来就慢一档。这类机器还是去看系统里显示的补丁日期,那是唯一能自己核实的东西。

iPhone 不受影响,iOS 是另一套栈。不过它这次还有别的用处,后面讲。

这笔账跟换电池不是一回事

老机器该不该换,平常我是不劝的。电池衰减到八成,花一两百块换块官方电池,接着用两年没毛病;存储不够,清一清微信缓存也能撑。这些花钱能解决。

停止更新这件事,花钱解决不了。

厂商不推就是不推。MIUI 最后一批停更的 Redmi A2 和 A2+,跑的就是安卓 13,今年 3 月正式停掉所有软件更新。这种机器往后每出一个像样的漏洞,都只能自己扛——它今天不一定出事,但你已经没有任何补救手段。

所以如果你的机器正好卡在安卓 13 及以下,我不觉得单凭这一个漏洞就够成换机的全部理由,但它该被加进那张清单,而且是最没法绕开的一条。反过来说,补丁日期已经在今年 10 月之后的,就别拿这事当换机借口了,跟它没关系。

万一真中招,顺序别搞反

按研究者公开的材料,正确的处置顺序是这样:

第一步,把 SIM 卡拔出来,插到一台不会崩的设备上——iPhone 或者已经打了补丁的新安卓机都行。目的是让运营商收到"这条消息已送达"的回执,停止重发。这步不做,后面全白搭。

第二步,再回去处理出问题那台:关机、拔卡、清掉损坏的短信记录。这步要用 ADB,普通人做不了,直接找售后或者靠谱的维修点,把这篇给他们看也行。

第三步才轮到重置系统。记住它只能治标,第一步没做的话,重置完照样再崩。

要是安卓 13 及以下又开了 eSIM,卡拔不出来,这套流程基本走不通。国内这种组合极少,真碰上了,联系运营商把 eSIM 转回实体卡是唯一的路。

最后提醒一件比断网严重的事:这个漏洞会影响紧急呼叫。手机在被反复打断、或者短信库已经损坏的状态下,紧急号码是拨不出去的。家里老人要是还在用停在老版本的安卓机,今晚就去帮他们翻一眼那个日期。

内容由AI生成
展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
京东京享红包
距结束::
领京东现金红包 天天领3次 最高26888元
红包按钮
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松