关键漏洞信息 漏洞标题 不足的异常处理导致服务拒绝 CCTV 严重性 严重性:中等 CVSS v3 基本指标:6.5/10 攻击矢量:相邻 攻击复杂性:低 所需权限:无 用户交互:无 范围:不变 保密性:无 完整性:无 可用性:高 受影响的版本 修复的版本 描述 该安全建议依据 Quarkslab 对 EVerest 的安全审计,并由 OSTIF 赞助: 摘要 未正确处理C++异常 TbdController 循环,导致其调用者和自身默默终止。因此,这会导致服务拒绝,因为它对 SDP 和 ISO15118-20 服务器负责。 详情 主模块逻辑由其控制器 TbdController 处理,该控制器运行一个假定的无限循环。控制器和其循环方法在 IS015118_chargerImpl::ready() 中定义并执行。 Function 在 everest-workspace/libiso15118/src/iso15118/tbd_controller.cpp:37 当执行 poll_manager.poll 或 session->poll 时可能会抛出异常。但是,未设置任何适当的处理程序。如果任何异常传播到 TbdController::loop,函数退出且模块变得不可用,导致服务无声拒绝。 PoC(概念验证) 任何未处理的异常都会使 TbdController::loop 和 IS015118_chargerImpl::ready 中断。为了并说明此漏洞。发送一个开启 SDP 服务器,然后发送一个畸形数据包(或发送任何数据),连接在发送任何数据之前中断(正常情况下会发送完整的 V2G 通信报文)。 影响 模块的静态拒绝服务。