CVE-2026-27816EVerest是一个电动汽车充电软件栈。在2026.02.0版本之前,`ISO15118_chargerImpl::handle_update_energy_transfer_modes`函数存在安全漏洞。该函数在处理数据时,未进行边界检查,将变长列表复制到固定大小的数组中。由于默认禁用了schema验证,攻击者可以通过发送过大的MQTT指令载荷,触发越界写入,导致相邻EVSE状态损坏或进程崩溃。
该漏洞的根本原因在于EVerest软件栈中`ISO15118_chargerImpl`组件的实现缺陷。具体来说,`handle_update_energy_transfer_modes`函数负责处理能量传输模式的更新。该函数接收一个变长列表,却试图将其复制到一个长度仅为6的固定大小数组中,且未实施必要的边界检查机制。
由于系统默认禁用了MQTT消息的schema验证,这为攻击者提供了可乘之机。攻击者无需认证即可向受影响的EVSE(供电设备)发送特制的、超大的MQTT Cmd(命令)载荷。当系统处理该载荷时,变长列表数据会溢出目标缓冲区,发生堆栈溢出或堆溢出。这种越界写入不仅可能破坏关键的EVSE状态数据,导致完整性受损,还可能直接导致充电服务进程崩溃,造成拒绝服务。