CVE-2026-26071EVerest是一个电动汽车充电软件堆栈。在2026.02.0版本之前,该软件存在一个数据竞争漏洞,导致对`std::string`的并发访问,进而可能引发堆释放后重用。该漏洞由EVCCID更新(EV/ISO15118)和OCPP会话或授权事件触发。攻击者可通过特定操作触发此条件,导致服务崩溃或潜在的代码执行风险。官方已在2026.02.0版本中修复此问题,建议用户尽快升级以确保系统安全。
该漏洞源于EVerest在处理多线程并发请求时缺乏必要的同步机制。具体场景涉及EVCCID更新(遵循ISO15118协议)与OCPP会话或授权事件的同时发生。当这两个事件并发处理同一共享资源(即`std::string`对象)时,一个线程可能正在释放该字符串占用的堆内存,而另一个线程仍尝试对其进行读取或写入操作。这种非线程安全的并发访问破坏了C++标准库容器的内部状态,导致典型的释放后重用。攻击者利用这一点可以导致程序崩溃,拒绝服务。虽然在利用难度较高的情况下可能进一步导致信息泄露或任意代码执行,但主要影响在于系统可用性的丧失。