CVE-2026-33009EVerest是一个开源的电动汽车充电软件栈,其2026.02.0之前的版本存在一处严重的数据竞争漏洞。该漏洞源于对`Charger::shared_context`和`internal_context`的并发访问未加锁保护,从而引发C++未定义行为及内存损坏。攻击者无需认证,仅通过网络发送特制的MQTT消息即可触发此漏洞,导致系统完整性受损及高可用性风险。
该漏洞根因在于EVerest充电软件栈在处理多线程并发请求时存在同步缺陷。当系统监听并处理特定MQTT主题`everest_external/nodered/{connector}/cmd/switch_three_phases_while_charging`的消息时,会调用相关功能模块。在此过程中,`Charger`类中的`shared_context`和`internal_context`这两个关键上下文结构体被并发访问,但代码未实施加锁保护。这种数据竞争不仅违反了C++内存模型,更直接导致未定义行为。远程攻击者无需任何用户交互或身份认证,即可通过网络发送特制的MQTT数据包触发该竞态条件。成功利用此漏洞可能导致内存损坏,造成充电服务不可用,甚至可能引发更严重的安全后果。