CVE-2026-22593EVerest是一款EV充电软件堆栈。在2026.02.0之前的版本中,由于IsoMux证书文件名处理存在差一错误,当文件名长度等于MAX_FILE_NAME_LENGTH(100字符)时,会发生基于栈的缓冲区溢出。攻击者可通过精心构造的文件名覆盖栈变量,从而可能导致任意代码执行。
该漏洞根因位于EVerest项目中IsoMux组件对证书文件名的处理逻辑。开发者在进行边界检查时犯了“差一”错误,仅判断文件名长度是否小于MAX_FILE_NAME_LENGTH(定义为100),但在实际写入操作中未能正确处理长度等于该阈值的情况。当攻击者放置一个长度恰好为100字符的文件名到证书目录时,程序会将该字符串连同结束符拷贝到`file_names[idx]`栈缓冲区中,导致越过缓冲区边界写入。这种栈溢出破坏了调用栈的平衡,允许攻击者覆盖返回地址或敏感变量,从而在本地无需认证的情况下执行任意代码。