返回资讯中心
外部精选
软件工程
#开发者实时流

Bitdefender 发现 Android 漏洞:无需代码和权限的应用即可让手机陷入启动死循环

来源标题:An Android app with no code or permissions can trap phones in a boot loop

Bitdefender Labs 发现,安装一个特制 Android 应用即可让手机陷入启动死循环,即使从未打开或授予任何权限。该应用不含代码、无需运行,安装后系统核心进程会反复崩溃重启,重启和安全模式均无效。恢复需恢复出厂设置并清除用户数据。

Hacker News 最新khalidkhair2026/11/6 · 今天30 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

公司 博客 登录 你的账户 Bitdefender Central GravityZone CLOUD Control Center MDR Portal 家庭版 企业版 合作伙伴 消费者洞察 实验室 企业洞察 反恶意软件研究 阅读时长 16 分钟 GhostMap:在你打开应用之前就让手机崩溃的 Android 漏洞 Alecsandru Cătălin DAJ 2026 年 11 月 5 日 Bitdefender Labs 的研究人员发现,安装一个经过特殊构造的应用,可以让 Android 手机陷入崩溃循环,即使你从未打开过它,也从未授予它任何权限。这个应用不包含任何代码,也永远不需要运行。 安装之后,一个核心系统进程会崩溃、重启、再次崩溃,让手机卡在启动循环中。重启无济于事,安全模式同样不行。 要让手机恢复正常,只能进行恢复出厂设置,这会抹掉用户数据。如果碰巧事先已启用 USB 调试,你还可以用一台电脑通过 ADB(Android Debug Bridge)在手机重启前删除该文件。 我们于 2026 年 8 月 12 日开始调查,当时从野外收集到的一个 APK 让我们的分析基础设施中的模拟器崩溃了。该样本是一个银行木马投放器,它从未运行,却在安装过程中崩溃。 当我们进一步追查原因时,发现问题不在恶意软件本身,而在 Android 自身。操作系统错误地处理了 ZIP 条目中的两个字段:压缩方法和声明的未压缩长度。读取这样一个条目,会让任何接触到该文件的进程收到 SIGBUS(CPU 发出的信号,用于终止访问了无效内存空间的进程)。 我们将其命名为 GhostMap:畸形条目导致 Android 把文件映射到从未分配的内存上,当进程从这片空白区域读取时,崩溃就发生了。 根据我们的测试,我们认为这个缺陷带来的风险相当大。理论上,攻击者可以把这一手法藏进一个假应用里,让受害者的手机瘫痪,或者以恢复出厂设置和数据丢失相要挟进行敲诈。畸形 APK 还可能干扰那些检查 Android 应用的工具。我们尚未在野外观察到上述任何一种情形。 那个银行木马投放器被一个加壳工具包裹过。加壳工具会重写 APK 的内部结构,使逆向工程工具无法读取。这在现代 Android 恶意软件中非常常见。 在这个案例中,同样的重写也破坏了 Android 在安装期间解析应用的那个组件。这正是安装一开始就崩溃、以及我们的模拟器在该样本上失败的原因。好消息是,样本中没有任何迹象表明作者知道这个文件会导致任何崩溃。 这个样本造成的后果也仅限于此——一次失败的安装。但底层的缺陷要深得多。我们发现,同样的错误可以针对核心系统服务,而不是安装器,在那里它会产生上文描述的那种反复崩溃循环,除了恢复出厂设置别无他法。这种升级利用是我们自己完成的;我们尚未见到它被用于攻击任何人。 底层问题在于 Android 如何信任 APK 文件中的大小和压缩信息,而且它并不限于畸形的 ZIP 文件。 我们通过 Android & Devices Vulnerability Reward Program 两次向 Google 报告了该问题,并在进一步测试确认存在持续的系统崩溃循环后扩充了第二次提交。 2026 年 8 月 12 日——初步发现。一个从野外收集的 APK 在安装期间让我们的分析基础设施中的模拟器崩溃。我们的调查将故障追溯到 Android 对 ZIP 条目压缩方法和声明未压缩长度的处理。 我们还发现,使用 Android 原生 API 解析 APK 的应用在读取这类文件时也可能崩溃。 我们复现了该缺陷,并有更多发现。每一次尝试安装该 APK 都会让操作系统崩溃并导致重启: 2026 年 8 月 20 日——首次向 Google 报告。我们提交了这些发现,记录了安装触发的崩溃以及应用在解析畸形 APK 时的失败。Google 随后不久便关闭了报告,状态为 Won't Fix(Not Reproducible,无法复现)。其随附的回复称该提交不在项目范围之内。 进一步调查——持续拒绝服务。我们继续测试,发现一个 APK 可以成功安装,但当系统服务自动读取某个应用资源时会崩溃。由此产生的崩溃循环阻止了对界面的访问,并且在安全模式下依然持续。恢复可能需要恢复出厂设置。 此后我们开始进一步调查。我们发现,还可以把其他不在安装时解析的文件做成畸形,而某些 Android 系统服务会尝试自动解析它们。这意味着循环会沿着常规路径进行:崩溃、重启、再次解析,然后再次卡在启动循环中。 我们造成的启动循环还会使安全模式访问失效,而我们找到的唯一恢复方法是恢复出厂设置,或者在有限条件下,用基于 ADB 的脚本与 system-server 的崩溃抢时间。 有意思的是,Google 早已修补过该缺陷的一个较弱版本。出自 2016 年 11 月公告的 CVE-2016-6724: 评级为 Moderate,已在 Android 4.4.4 至 7.0 上修复。2016 年时 Google 把需要恢复出厂设置的情况描述为暂时性的;而按我们的理解,Google 当前公布的危险程度指南将这种情况描述为持续性的,并评为 High。 2026 年 8 月 25 日——第二次向 Google 报告。我们提交了扩充后的发现,包括一个可用的概念验证和复现说明。报告说明该应用不需要任何权限,不包含可执行代码,也永远不需要启动。 Google 随后不久作出回应,称其认为该问题不在安全更新修复的范围之内。Google 还表示,已将这一发现转交给相关团队审查,并可能纳入未来的版本更新。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →