IPBUF安全漏洞报告
English
CVE-2026-26073 CVSS 5.9 中危

CVE-2026-26073 EVerest 数据竞争漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-26073
漏洞类型
数据竞争
CVSS评分
5.9 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
EVerest

相关标签

数据竞争EVerestDoSCVE-2026-26073

漏洞概述

EVerest是一个电动汽车充电软件栈。在2026.02.0版本之前,该软件存在一个数据竞争漏洞,可能导致std::queue或std::deque损坏。该漏洞的触发条件是在OCPP未启动的情况下,同时进行电表公钥更新和EV会话或错误事件。这会导致TSAN数据竞争报告以及ASAN/UBSAN未对齐地址运行时错误。攻击者无需认证即可利用此漏洞通过网络发起攻击,最终导致服务崩溃或拒绝服务。该问题已在2026.02.0版本中得到修复。

技术细节

该漏洞的根本原因在于EVerest软件在处理并发任务时缺乏必要的同步机制。具体而言,当OCPP(开放充电点协议)尚未启动时,系统若同时处理电表公钥更新操作和EV(电动汽车)会话或错误事件,这两个线程可能会并发访问共享的内存资源(如std::queue或std::deque)。由于没有对临界区进行加锁保护,这种非原子的读写操作会引发数据竞争。这会破坏容器的内部指针或元数据,导致内存未对齐或非法访问。运行时表现为ThreadSanitizer(TSAN)报告数据竞争,AddressSanitizer(ASAN)报告未对齐地址错误,进而导致应用程序异常终止,影响充电服务的可用性。

攻击链分析

STEP 1
侦察
攻击者识别网络上运行EVerest软件且版本低于2026.02.0的电动汽车充电桩设备。
STEP 2
触发条件准备
攻击者等待或诱导系统处于OCPP协议未启动的状态。
STEP 3
并发操作
攻击者通过网络触发电表公钥更新操作,同时系统可能正在处理EV会话或错误事件,导致两个线程并发操作共享队列。
STEP 4
利用与影响
数据竞争导致std::queue/std::deque内部结构损坏,引发未对齐地址错误,导致应用程序崩溃或服务拒绝。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#include <thread> #include <queue> #include <iostream> // Mock vulnerable component simulating EVerest behavior class VulnerableQueueManager { public: std::queue<int> shared_queue; // Missing std::mutex mtx; in vulnerable version // Simulate Powermeter public key update void update_key() { // Simulate heavy modification of the queue structure for (int i = 0; i < 100; ++i) { shared_queue.push(i); } // Potential corruption if another thread pops here } // Simulate EV session/error event handling void handle_event() { if (!shared_queue.empty()) { shared_queue.pop(); } } }; void trigger_race() { VulnerableQueueManager manager; // Thread 1: Attacker triggers key update std::thread t1([&manager]() { manager.update_key(); }); // Thread 2: System handles EV session concurrently std::thread t2([&manager]() { manager.handle_event(); }); t1.join(); t2.join(); std::cout << "Race condition triggered. Check with TSAN for data race reports." << std::endl; } int main() { trigger_race(); return 0; }

影响范围

EVerest < 2026.02.0

防御指南

临时缓解措施
在升级到修复版本之前,应尽量避免在OCPP未启动时进行电表公钥更新操作,并通过网络防火墙限制非必要的访问请求,以减少并发触发漏洞的可能性。

参考链接

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