CVE-2026-23955CVE-2026-23955是EVerest EV充电软件栈中的一个信息泄露漏洞。EVerest是一个开源的电动汽车充电软件栈,广泛应用于电动汽车充电基础设施中。该漏洞存在于2025.9.0之前的版本,在多个代码位置,当程序抛出错误时,整数值被错误地与字符串字面量进行连接操作。在C/C++等编译型语言中,这种操作会导致指针算术运算而非预期的字符串拼接,从而引发未定义行为。攻击者(需要高权限)可以通过精心构造的输入触发这些错误路径,利用指针算术运算读取程序内存中的任意区域,包括堆内存和栈内存中的敏感数据。由于攻击需要本地访问和用户交互,CVSS评分定为4.2(中等)。此漏洞可能导致敏感信息泄露,如内存中的凭据、密钥、配置信息或其他应用数据,对电动汽车充电系统的安全性构成威胁。
该漏洞的根本原因在于EVerest代码库中使用了不正确的字符串格式化方式。在C++中,当尝试将整数类型与std::string或C风格字符串进行连接时,如果使用了错误的操作符或方法,会导致指针算术运算而非数值到字符串的转换。例如,使用+运算符直接连接整数和字符串字面量(如 "Error code: " + error_code)会导致指针偏移,error_code被解释为内存地址偏移量。攻击者需要具备高权限账户,并能够触发特定的错误条件(如通过异常输入、配置错误或特定的操作序列)。通过反复触发这些代码路径,攻击者可以逐步探测和读取不同内存区域的内容。漏洞影响的是机密性(C:H),攻击者可以读取敏感内存数据,但不影响系统完整性和可用性。修复方案是在2025.9.0版本中正确使用字符串格式化函数(如std::to_string、fmt::format或sprintf)来安全地将整数转换为字符串。