索尼WH-1000XM5蓝牙认证漏洞与中间人攻击风险分析

本文详细分析了索尼WH-1000XM5耳机存在的蓝牙认证不备漏洞,攻击者可利用此漏洞实现中间人攻击,威胁设备通信的机密性、完整性和可用性。文章包含PoC步骤、潜在攻击场景及修复建议。

索尼 | 报告 #2642615 - 明確な認証不備および潜在的な中間者攻撃の可能性(Clear Authentication Deficiencies & Potential for Man-in-the-Middle Attacks) | HackerOne

Sec.0 要約

本报告详述了在索尼WH-1000XM5产品中发现的认证漏洞。通过将此漏洞与现有蓝牙攻击结合,可轻松实现中间人(MitM)攻击。报告者请求为此漏洞分配CVE编号。

Sec.1 漏洞类型

认证不备

Sec.2 漏洞详情

恶意第三方(以下简称攻击者)可冒充已与WH-1000XM5配对的设备,使WH-1000XM5在非配对模式下且无需用户任何操作即可连接到攻击者设备。检查蓝牙数据包发现,WH-1000XM5在重新连接时的认证存在缺陷,未遵循安全简单配对(SSP)的重新连接流程。

Sec.3 受影响产品

WH-1000XM5

注意:此漏洞可能不限于WH-1000XM5。

Sec.4 PoC

本节介绍PoC所需设备、设置及重现漏洞的步骤。

.4.1 PoC 设备

受害者主设备

制造商 型号 操作系统 驱动 蓝牙版本
Microsoft Surface Laptop 4 Windows 11 Home Intel(R) Wireless Bluetooth(R) 5.1

受害者从设备

制造商 型号 蓝牙版本
Sony Corporation WH-1000XM5 5.2

攻击者设备

型号 操作系统 系统 Debian版本 内核版本 BlueZ版本 蓝牙制造商 蓝牙版本
Raspberry Pi 4 Model B Raspberry Pi OS 32bit 11 bullseye 6.1.5.55 Cypress Semiconductor 5.0

.4.2 PoC 设置

预先配对WH-1000XM5和Surface Laptop 4。

.4.3 PoC 步骤

  1. 欺骗Raspberry Pi的蓝牙地址和适配器蓝牙名称,使其与Surface Laptop 4类似。
  2. 将Raspberry Pi的蓝牙适配器状态设置为可发现。
  3. 将WH-1000XM5闲置一段时间或手动关闭电源。
  4. 关闭Surface Laptop 4电源。
  5. 打开WH-1000XM5电源(注意:避免进入配对模式,不要按住电源按钮超过5秒)。

按以上步骤操作后,WH-1000XM5虽未处于配对模式,但仍会与Raspberry Pi配对并连接。重现漏洞时在Raspberry Pi端捕获的蓝牙数据包已附加(参见WH-1000XM5_vuln_poc.pcapng)。请注意,Raspberry Pi此前从未与WH-1000XM5配对过。

注意:为证明漏洞重现的現實性,解释在关闭Surface Laptop 4后打开WH-1000XM5的原因。报告者曾将WH-1000XM5与另一设备(Pixel 7 Pro)配对。当使用Pixel 7 Pro播放音乐而打开WH-1000XM5电源时,在打开Pixel 7 Pro的蓝牙设置并尝试连接WH-1000XM5期间,Raspberry Pi与WH-1000XM5自动连接,无需任何操作。

Sec.5 潜在MitM攻击

神户大学研究团队提出了利用蓝牙省电模式的设备劫持攻击。详见2024年7月信息处理学会发表的论文《Bluetooth省電力モードを用いるデバイスハイジャック攻撃》。虽然WH-1000XM5并非省电模式,但其定义了在无操作一段时间后自动关机的功能(来自帮助指南)。此行为类似于省电模式中的睡眠模式。研究证明,攻击者可利用此类蓝牙会话的临时断开劫持会话。

假设WH-1000XM5与笔记本电脑已配对,若WH-1000XM5自动关机,攻击者可冒充WH-1000XM5与笔记本电脑配对。反之,若攻击者冒充笔记本电脑,本报告中的漏洞允许攻击者与WH-1000XM5配对。因此,攻击者成为WH-1000XM5与笔记本电脑会话的中间人。此结果不仅对完整性和可用性,也对机密性构成严重威胁。

Sec.6 请求

认为此漏洞非产品规格或蓝牙协议规格所致。请求索尼公司回应本报告。若索尼为CNA,请分配CVE编号;否则,将向IPA/JPCERT报告并请求分配CVE编号。

附录

更改Raspberry Pi蓝牙名称的方法

  1. 在/etc目录下创建machine-info文件。
  2. 打开文件,使用PRETTY_HOSTNAME变量定义蓝牙名称,例如:PRETTY_HOSTNAME=Example Laptop。
  3. 配置后重启蓝牙服务。

更改Raspberry Pi蓝牙地址的方法

附Golang脚本(参见main.go)。在Raspberry Pi上构建main.go文件,使用以下命令示例更改地址:

1
2
3
4
5
6
7
8
9
# 构建源代码
go build main.go -o chgbtaddr

# 更改地址
# 例:假设笔记本电脑蓝牙地址为00:11:22:33:44:55
./chgbtaddr -addr 00:11:22:33:44:55

# 重启服务
sudo systemctl restart bluetooth.service

感谢关注本报告。如需更多信息(如演示视频、产品编号等),请联系报告者。期待及时回应与合作解决此安全风险。

敬礼, ██████████

██████████ 电话:███ 电子邮件:██████


影响

  • 拒绝服务(DoS)
  • 链路密钥劫持
  • 中间人攻击

时间线与更新

  • 2024年8月6日:trapedev提交报告。
  • 2025年3月3日:Sony确认修复已发布(固件版本2.4.1),漏洞状态改为“已解决”。
  • 2025年3月7日:索尼将在官方网站发布致谢。
  • 报告者与Sony员工就漏洞细节、修复时间表及披露事宜进行了多次沟通。
  • Sony奖励报告者Swag以表感谢。
  • 报告最终于2025年7月8日披露。

附加文件

  • WH-1000XM5_vuln_poc.pcapng:漏洞重现时的蓝牙数据包捕获文件。
  • main.go:用于更改Raspberry Pi蓝牙地址的Golang脚本。
  • image.png:固件版本发布说明截图。

报告ID: #2642615
严重性: 高 (8.3)
弱点: 无实体认证的密钥交换
CVE ID: 无
赏金: 无

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计