CVE-2026-9758CVE-2026-9758是S2OPC(一个开源的OPC UA实现)中的高危安全漏洞,CVSS评分7.3。该漏洞源于证书信任列表的比较逻辑存在缺陷,攻击者可以利用精心构造的格式正确的证书,绕过系统的证书验证机制,使其被错误地识别为受信任证书。S2OPC是Systerel公司开发的符合IEC 62541标准的OPC UA通信库,广泛应用于工业控制系统和SCADA系统中。由于OPC UA在工业环境中常用于关键基础设施的通信,如电力、化工、制造业等,该漏洞的存在可能导致严重的安全后果。攻击者一旦成功利用此漏洞,可以冒充合法客户端或服务器,进行中间人攻击,或在目标系统中获取未授权的访问权限,窃取敏感数据或干扰正常的工业生产流程。由于该漏洞无需任何认证即可利用(PR:N),且可通过网络远程触发(AV:N),因此具有较高的实际威胁性。
该漏洞的核心问题在于S2OPC的证书验证模块在处理证书信任列表时存在比较逻辑错误。具体表现为:系统在验证客户端或服务器证书时,使用了不恰当的比较方法(如字符串比较而非二进制比较,或比较时未考虑编码差异),导致格式正确但实际不受信任的证书被错误地添加到受信任列表中。攻击者可以通过以下方式利用:1)获取目标系统使用的证书格式信息;2)生成符合格式要求的X.509证书;3)利用证书比较逻辑漏洞绕过信任验证。在OPC UA协议中,证书验证是建立安全通道的关键步骤。当证书验证失败时,正常情况下应拒绝连接并记录安全事件。但由于该漏洞的存在,恶意证书可能被错误地接受为受信任证书,从而建立不安全的安全通道。攻击者随后可以通过该通道进行数据窃取、命令注入或拒绝服务攻击。