ARTICLE · 1279083
一条不用点的短信能废掉安卓:这口子开了 16 年零 7 个月
一条短信让手机循环重启到没法用,全程不需要你点任何东西。
这不是新一代钓鱼链接,是一段 2009 年就写进安卓的老代码。10 月 29 日,安全研究员 Mark B 把它公开在 smsofdeath.com 上,页面标题就叫 SMS of Death,短信死神。黑客新闻(Hacker News)当天 308 分、171 条讨论,中文圈到 10 月 30 日上午还是空白。
我把安卓源码的提交记录翻到了 2009 年:从口子成形,到 6 月被堵上,中间隔了 6068 天。
它怎么废掉一台手机
先说通道。短信除了发文字,还带着一个 2G 时代传下来的老功能:WAP Push,运营商用它给你推链接、推配置,功能机年代的产物。今天你在微信里聊一切,但这个通道还躺在每台插着 SIM 卡的安卓手机里,随卡激活。
问题出在安卓解析这类消息的代码上。整条攻击链四步:
com.android.phone 是你手机接打电话、收发短信的中枢。你的手机可能正在通话,可能正等着一条验证码。屏幕上没有通知,收件箱里没有记录,连发件人号码都不显示。整个过程零点击、零感知。
后果有多重?研究者的实测数据(Pixel 9 的 2026 年 4 月固件加多款三星手机,复现率 100%):
真正狠的是后手。你的手机崩在回执发出之前,运营商那边的记账是「未送达」,于是按规矩重发。手机一活过来,又被同一条短信打死。研究者测下来,一条毒短信能造成最长一周的断续故障。黑客新闻上一位读者的解释很直白:
手机在能回执之前就噎死了,运营商只当你没收到,于是接着发。
还有一层。这条消息会留在系统待处理队列里,每次开机都重试一次。安卓的自救机制发现电话进程反复崩溃,会把手机重启进恢复模式,大约每 90 秒一轮。普通人面对循环重启,能做的基本只剩恢复出厂设置。研究者本人写过自己的恢复经历:删掉短信数据库,2 分钟后运营商把消息又重发了回来。社区后来找到的解法,是用电脑连手机手动删掉队列里那几行记录,普通用户做不到。
我去翻了它的出生证明
这个漏洞是新挖出来的,但这段代码不是。我去翻了它的出生记录,过程比想的曲折:谷歌官方的安卓源码站从这台服务器死活连不上,常用的 GitHub 镜像仓库整个没了,最后在 LineageOS 保存的完整历史里翻到。
记录很清楚。
2009 年 2 月 20 日,安卓公开仓库第一次导入这份文件,「读长度、强转、不检查」的写法就在里面,那时安卓才 1.5。2009 年 11 月 4 日的一次提交补上了按这个长度开内存的代码,负数口子从这天起成形。2012 年 7 月,这段代码搬进电话模块,之后 14 年没人动过它的逻辑。

16 年零 7 个月。这期间它跟着安卓从 1.5 一路活到 17。你的第一台安卓手机里有它,你现在用的这台里也有。
修复只有 2 行,而且不是修漏洞
5 月 5 日,Mark B 通过谷歌的漏洞赏金项目报了上去。6 月 16 日,谷歌合入修复。
我把修复的提交记录拉出来看了 diff,结果有点意外。
真正的「修复」只有 2 行:原来代码里已经有一层异常捕获,但只抓数组越界,抓不住这次的负数异常。谷歌的改法是把捕获范围放宽,让任何运行时异常都不再炸掉电话进程。
配套的还有另一处 13 行的改动,在我看来这才是点睛之笔:一旦解析崩溃,就把这条毒短信从待处理队列里删掉。断掉的不再只是这一次崩溃,而是「重发、再崩、重启、再重试」的整个循环。另外补了 149 行测试。
有意思的地方在这。研究者给谷歌建议的方案是老老实实加范围检查:长度是负数或者超过消息本身,直接拒收。谷歌没用这个方案,选了「崩了也别死,顺便删掉祸根」。
我理解这是务实的选择。那段 2009 年的解析代码跑在全世界的机型上,入口不止一个,与其逐个检查每个入口,不如让整个解析环节变得摔不死。等于说,往后解析环节不管出什么幺蛾子,电话进程都死不了。治的是一类,不是一个。代价是,非法的消息至今仍会被解析,只是不再致命。
谁还裸着
修复随 10 月安卓安全更新下发,但名单只有 Android 14 到 17。
Android 14 是 2023 年 10 月发布的系统。也就是说,2023 年 10 月之前出厂、后来也没升上 14 的机器,这次补丁永远不来。

想想身边有多少这样的设备:还在用老旗舰的人,买给爸妈的千元机,车里那块带 4G 的车机屏。黑客新闻的讨论里有人专门提醒,车机和支付终端这类设备更新周期最长,是最可能带着老安卓一直跑下去的。
自查只要 30 秒:设置,关于手机,找「Android 安全补丁级别」。看到 2026 年 10 月 1 日或更晚,你是安全的;看不到这个日期,你还在窗口里,而窗口不会自己关上。
三个快问快答
不点链接为什么也会中? 链接要你点,是因为陷阱在网页里。这次的陷阱在短信本身的头部字段里,手机收到、系统解析的那一瞬就触发了,你的手指从头到尾没用武之地。
能把这个通道关掉吗? 关不掉。WAP Push 的解析在系统短信层里,没有开关。研究者建议的缓解只有一条:装上 10 月安全更新。
苹果手机没事吗? 这次出事的是安卓的电话框架代码,苹果设备不走这段代码。但别把「这次没事」当成「永远没事」,安卓的历史教训恰恰是:没人看的旧通道,迟早出事。
16 年里的第三回
SMS of Death 这个名字不是新造的。2010 年 12 月,两位安全研究者就用它命名过一组功能机时代的短信漏洞,一条短信让手机断网死机,那时的主角还是功能机。2017 年 1 月,同样的 WAP Push 通道咬过三星,一条短信就能改掉手机的网络配置。
同一条通道,16 年里第三次上新闻。功能机死了,3G 退网了,WAP 早就没人提起,这段处理代码却跟着每一代安卓活到今天。
谷歌的赏金定性也值得记一笔。按研究者 Mark B 的转述,谷歌最初的回复只有一句:
临时拒绝服务,不够赏格标准。
修复倒是照做了。黑客新闻上争议最大的也是这条:这到底是致命漏洞,还是又一个会被慢慢修掉的老 bug?
我的看法没这么摇摆。判断一个漏洞的分量,我有个笨标准:它离你的通话有多近。

危险从来不在新代码里,新代码有人盯着。危险在那些送走了三代手机、没人再看一眼的旧通道里,它们安安静静,直到某天变成一条短信。
你的手机安全补丁级别是哪一天?设置里翻一眼,评论区报个数。
(数字与事实出处:漏洞机制、影响与复现数据来自 smsofdeath.com 公开报告,2026-10-29;代码出生与修复细节为本文对 AOSP 提交记录(LineageOS 镜像,commit 15ab3eae、d5b325aa、71d68ae 等)的逐版本核对,2026-10-30 自查;补丁覆盖范围来自谷歌安卓安全公告 2026-10-01,本机拉取原文计数;黑客新闻数据取自 Algolia API,2026-10-30 快照;SMS of Death 历史见 Schneier 博客 2011 年 1 月及 The Register 2017 年 1 月报道。)















































































