返回
快讯

AirDrop 和 Quick Share 缺陷可让附近攻击者触发崩溃并绕过检查

研究人员发现 AirDrop 与 Quick Share 共六个安全漏洞,可让无线范围内的攻击者在无需预先连接的情况下触发崩溃,甚至绕过会话检查。Apple、Google 与 Samsung 已开始修补部分问题。

CVE-2024-38271CVE-2024-38272CVE-2024-10668

两名研究人员在 AirDrop 和 Quick Share 中发现了六个安全缺陷。AirDrop 和 Quick Share 是无线功能,可在附近设备之间传送文件,不需要 cable,也不需要 shared network。

攻击者只要在无线范围内,带着一台 laptop 且没有任何 prior connection,就可以让一台设定为从任何人接收的 Mac 或 iPhone 上的 sharing service 崩溃,而且不需要 tap 或 prompt。

同一项研究还发现,Quick Share 存在缺陷,可绕过 Samsung 的 session checks,并在 Google 的 Windows app 中触发一个可能可被利用的 crash。

这两项功能运行在一个超过 fifty billion active Apple 和 Android devices 的生态系统里,不过这次测试到的 bugs 只影响特定 implementations 和 versions。

这项工作由 CISPA Helmholtz Center for Information Security 的 Arash Ale Ebrahim 和 Nils Ole Tippenhauer 撰写成一篇新的 research paper,首次把两个 stacks 并排拆解到 radio layer 之上,也就是 discovery 变成 session handling、parsing 和 trust decisions 的地方。

修补已经开始了。Apple 已经修补了三个 AirDrop bugs 中的一个并为其分配了一个 CVE,虽然 advisory 还没有公开;另外两个仍在 coordinated disclosure 中。Google 为这个 Windows flaw 支付了 bounty,并已经提交了 code fix,而它的 CVE 仍在等待中。

Samsung 的两个 bugs 已交给 Google,仍在 investigation 中。到本文撰写时,没有公开报告显示这些 flaws 被利用过。

三种方式让 Apple's sharing 失效

三个 AirDrop flaws 最后都会导致同一个 crash:它们会让 sharingd 崩溃,这个是 macOS 和 iOS 上处理 AirDrop 的 background service。问题在于,这个 service 也运行 AirPlay、Handoff、Universal Clipboard、Continuity Camera 和 NameDrop,所以一次 crash 会把整组功能一起拖垮。

其中最简单的一种,只需要向一台把 AirDrop 设为从 "Everyone" 接收的设备发送一条 malformed request。把这些 crash messages 一直循环发送,大约每两秒一条,只要攻击者持续进行,这些功能就会一直失效。在研究人员的测试里,攻击运行期间没有任何 legitimate AirDrop transfer 能成功通过。

这三个里有两个不只是 AirDrop bugs,因为它们存在于共享的 Apple frameworks 中。范围最广的是 Foundation 的 XML property list parser 里的一个 stack overflow,由一个大约有 200 层 nested layers 的小文件触发。

任何打开这类 untrusted file 的 Apple app 都可能碰到同一条 parser path,横跨 macOS、iOS、watchOS、tvOS 和 visionOS。研究人员在 macOS 15.7.4、macOS 26.3、iOS 18.x 和 iOS 26.3 上重现了 AirDrop crashes;而较旧的 iOS 16 build 则不受影响。

Quick Share 的 bugs,以及一个弄坏了的修复

在 Android 上,Samsung 的 Quick Share 有两个 flaws,让攻击者能够跳过本应锁定 session 的 handshake。其中一个允许一个未经验证的 device 在任何 encryption 建立之前就开始控制 connection。

另一个则允许某些 control messages 在 secure session 已存在之后仍以 unencrypted 方式通过。处于同一 Wi-Fi network 的攻击者可以利用这个 gap,把 connection 强行推进到 "accepted" 状态、保持它存活,或者让 server 返回由攻击者提供的 IP 和 port 值。研究人员没有证明这两个问题可以用来偷文件,但它们都破坏了系统所承诺的 protections。

研究人员在一台 Galaxy S23 Ultra 上测试了这些问题,并指出其他 Android 厂商版本的 Quick Share 需要另外检查。

最严重的 flaw 出现在 Google 的 Windows 版 Quick Share。这是一个 memory bug,会在两个 connections 在恰当时刻发生碰撞时浮现,导致程序使用一块它已经丢弃的 memory。

这类 bug 有时可以被转化为运行攻击者 code,而研究人员表示这里的路径是可行的,因为一个叫 Control Flow Guard 的 Windows defense 在 app 中是关闭的。

他们确认了 crash,但没有构造出可工作的 exploit。Google 已确认该问题,支付了 bounty,并且已经提交了修复;CVE 仍在 pending。

这不是 Quick Share for Windows 第一次出问题。SafeBreach 在 2024 年报告过一个 10-bug code-execution chain(CVE-2024-38271 和 CVE-2024-38272),之后又在 2025 年回来绕过 Google 的修复(CVE-2024-10668)。这次新的 use-after-free 让同一个 component 一再被 patch、又一再被 probe 的模式多添了一笔。

更让人刺痛的细节是:程序自己的 source code 里有一条 comment,承认了那个确切位置之前出现过 bug,内容是 "We had a bug here, caused by a race with EncryptionRunner." 为处理它而写下的 fix,又把同一类 flaw 重新引了回来。

风险是 local,不是 remote

关键限制在于 range。这些都是 local attacks,不是 internet-wide 的攻击:攻击者必须在大约 10 到 30 meters 之内,或者在同一个 local network 上。

虽然它没有 remote bug 那么全面,但在机场、火车站或 conference 这类人多的地方,一个攻击者仍然可以一次接触到很多设备。研究人员只测试了自己的 hardware,并已公开他们的 tools,让其他 security teams 能够重现这些发现。

在 Mac 或 iPhone 上,请安装 Apple 的最新更新(iOS 和 macOS 26.5.2 已在 June 29 发布),并把 AirDrop 保持在 "Contacts Only" 或直接关闭,而不要用 "Everyone",因为这些 flaws 需要这个设置。对于 Quick Share,在你没有主动接收文件时,不要把它设为 "Everyone" visibility,并在 Google 的修复已经推出后尽快更新 Windows app。

两个独立构建的系统以同样的方式失败了:代码里面临 network 的 crash,以及把 security checks 钉在单独的 message handlers 上,而不是在前面统一强制执行。这个问题出现的时机也很尴尬。

Google 的 AirDrop interoperability for Quick Share 已经开始在旗舰 Android phones 上推出,而且只有在 iPhone 设为从 "Everyone" 接收时才会工作;而这个正正就是让 AirDrop crash bugs 暴露出来的设置。