CVE-2026-23995EVerest是一个电动汽车充电软件栈。在2026.02.0版本之前,CAN接口初始化过程中存在基于栈的缓冲区溢出漏洞。当传入的接口名称长度超过IFNAMSIZ(16字节)时,会触发溢出,破坏栈数据并可能导致代码执行。由于该漏洞在权限检查前即可被触发,且无需用户交互,本地攻击者可利用此漏洞控制系统。
该漏洞的深层技术原理在于EVerest软件栈在CAN接口初始化函数中缺乏对输入长度的严格验证。在处理CAN接口打开例程时,程序直接将用户提供的接口名称复制到`ifreq`结构体的`ifr_name`字段中。该字段在Linux系统中的标准长度限制为IFNAMSIZ(即16字节)。一旦输入长度超过此限制,多余的数据将溢出缓冲区,直接覆盖栈帧上的关键数据,如返回地址或保存的基址指针。由于此操作发生在任何权限检查之前,且无需用户交互,本地攻击者可以通过构建特定的超长字符串,利用此溢出漏洞劫持控制流,进而注入并执行任意恶意代码,最终导致系统被完全攻陷。