CVE-2025-11640
Executive Summary
CVE-2025-11640 exposes a critical flaw in Tomofun Furbo 360 and Furbo Mini pet cameras, where Bluetooth Low Energy (BLE) communication transmits sensitive information in cleartext. This vulnerability allows an attacker with local network access to passively sniff BLE packets and extract credentials, device tokens, or other private data. The attack is highly complex due to the need for proximity and specialized hardware, but the impact is severe: full compromise of the device’s functionality and potential lateral movement within the home network. No patch has been released by the vendor, and no public exploit code exists at this time.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to any software package manager (NPM, PyPI, Go, Ruby). It is a firmware-level issue in IoT devices. No supply chain attack vector is present.
CVSS Breakdown & Threat Level
The CVSS score is 0.0 (UNKNOWN) due to insufficient data from NVD. Based on the description, a plausible CVSS vector would be:
- Attack Vector (AV): Adjacent Network (A) – requires local network access.
- Attack Complexity (AC): High (H) – requires specialized hardware and proximity.
- Privileges Required (PR): None (N) – no authentication needed.
- User Interaction (UI): None (N) – no user action required.
- Scope (S): Unchanged (U) – affects only the device.
- Confidentiality (C): High (H) – cleartext transmission of sensitive data.
- Integrity (I): None (N) – no data modification.
- Availability (A): None (N) – no denial of service.
Estimated CVSS Score: 5.4 (Medium) – due to high complexity but high confidentiality impact.
Threat Level: Medium. The attack is difficult to execute but can lead to significant privacy breaches.
Deep Dive & Mechanics
The Furbo 360 and Furbo Mini use BLE for initial setup and periodic communication with the mobile app. The vulnerability lies in the BLE GATT (Generic Attribute Profile) service, where sensitive data such as Wi-Fi credentials, device tokens, or user account information is transmitted without encryption.
Technical Details:
- BLE Service UUID: Unknown, but likely a custom service for device configuration.
- Data Flow: During pairing or reconnection, the device sends cleartext packets containing SSID, password, or API tokens.
- Attack Vector: An attacker within BLE range (approx. 10-100 meters) uses a BLE sniffer (e.g., nRF Sniffer, Ubertooth) to capture packets.
- Exploitability: High complexity due to need for physical proximity and timing of the transmission.
Root Cause: The firmware does not implement BLE encryption (LE Secure Connections) or uses a static encryption key that is easily bypassed.
Vulnerable vs. Patched Code
No patched firmware is available. The vulnerable code is in the BLE stack of the firmware.
Vulnerable Code (Conceptual):
// BLE characteristic write handler
void ble_write_handler(uint16_t conn_handle, uint16_t char_uuid, uint8_t *data, uint16_t len) {
// No encryption check
if (char_uuid == CONFIG_CHAR_UUID) {
memcpy(wifi_ssid, data, len); // Cleartext storage
}
}
Patched Code (Hypothetical):
void ble_write_handler(uint16_t conn_handle, uint16_t char_uuid, uint8_t *data, uint16_t len) {
// Verify encryption is enabled
if (!ble_encryption_enabled(conn_handle)) {
return; // Reject unencrypted writes
}
// Decrypt data before processing
uint8_t *decrypted = aes_decrypt(data, len);
if (char_uuid == CONFIG_CHAR_UUID) {
memcpy(wifi_ssid, decrypted, len);
}
}
Exploitation & Lab Setup
Red Team (Attack Simulation)
Prerequisites:
- BLE sniffer (e.g., nRF52840 Dongle with Wireshark)
- Computer with Wireshark and Python
- Proximity to the target device (within 10 meters)
Steps:
- Capture BLE Traffic:
- Use
nrf_sniffer_for_blewith Wireshark to capture BLE packets. - Filter for the Furbo device MAC address (obtained via
hcitool lescan).
- Use
- Identify Cleartext Data:
- Look for ATT Write Request packets with characteristic UUIDs related to configuration.
- Extract payloads that contain readable strings (e.g., SSID, password).
- Replay Attack (Optional):
- Use
gatttoolorbleahto connect and write malicious data if authentication is weak.
- Use
Example Python Script (Conceptual):
import pyshark
cap = pyshark.LiveCapture(interface='bluetooth0', bpf_filter='btle')
for packet in cap.sniff_continuously():
if 'ATT' in packet:
print(packet.att.data) # Look for cleartext
Blue Team (Defense & Detection)
Defensive Measures:
- Firmware Update: Monitor Tomofun for patches; if none, consider replacing the device.
- Network Segmentation: Place IoT devices on a separate VLAN with strict firewall rules.
- BLE Monitoring: Use a BLE scanner to detect unauthorized connections or sniffing attempts.
Detection Rules:
- Monitor for multiple BLE connection attempts from unknown MAC addresses.
- Alert on BLE packets containing plaintext credentials (e.g., "SSID", "password").
Indicators of Compromise (IOCs)
- Network IOCs:
- BLE packets with characteristic UUID
0xXXXX(unknown, but likely custom). - Unusual BLE advertising intervals (e.g., < 100ms).
- BLE packets with characteristic UUID
- Host IOCs:
- Presence of BLE sniffing tools (e.g.,
hcitool,gatttool,Wiresharkwith BLE plugin).
- Presence of BLE sniffing tools (e.g.,
- Device IOCs:
- Unexpected BLE connections from unknown devices.
- Changes in device behavior (e.g., resetting, re-pairing).
Detection Engineering
YARA Rule
rule CVE_2025_11640_BLE_Cleartext {
meta:
description = "Detects cleartext BLE packets containing sensitive data from Furbo devices"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-11640"
strings:
$ssid = /(SSID|WIFI|PASSWORD|TOKEN)/ nocase
$furbo = "Furbo" nocase
condition:
$furbo and $ssid
}
Sigma Rule
title: BLE Cleartext Transmission Detection
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects cleartext BLE packets from Furbo devices
author: Valters IT
logsource:
category: network_connection
product: windows
detection:
selection:
Protocol: "BLE"
Payload|contains:
- "SSID"
- "PASSWORD"
- "TOKEN"
condition: selection
falsepositives:
- Legitimate BLE configuration apps
level: high
Suricata Rule
alert tcp any any -> any any (msg:"CVE-2025-11640 BLE Cleartext Data"; content:"SSID"; nocase; content:"PASSWORD"; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable BLE: If possible, disable BLE on the device via the mobile app.
- Network Segmentation: Isolate the Furbo device on a separate VLAN with no internet access.
- Monitor BLE Traffic: Use a BLE scanner to detect anomalies.
Long-term Fix:
- Vendor Patch: Await a firmware update from Tomofun that implements BLE encryption (LE Secure Connections).
- Device Replacement: If no patch is released, replace the device with a secure alternative.
Workarounds:
- Use a BLE jammer (legal only in controlled environments) to prevent sniffing.
- Change Wi-Fi credentials regularly to limit exposure.
Valters IT
Securing IoT, One Packet at a Time