漏洞总结 1. 漏洞概述 在 Erlang OTP 的 模块中,处理 OCSP(在线证书状态协议)响应时存在验证缺陷。具体而言,当验证“指定OCSP响应者”(designated OCSP responder,对应 RFC 6960 Case 2)时,系统仅检查了证书颁发者(Issuer)的 DN(Distinguished Name)匹配以及 OCSP 签名扩展密钥用法(EKU),却忽略了验证响应者证书是否由 CA(证书颁发机构)正确签名。 这导致攻击者可以伪造一个自签名证书,只要该证书包含有效的 EKU,系统就会将其误认为是合法的指定响应者,从而可能接受伪造的 OCSP 响应。 2. 影响范围 组件: Erlang OTP 模块 文件: 函数: 函数中的 Case 2 分支。 3. 修复方案 在 函数的 Case 2 分支中,增加了对响应者证书签名的验证。具体实现是调用 函数,确保响应者证书确实是由 CA 签发的,而不仅仅是 DN 匹配。 4. 关键代码 (POC/修复代码) 修复代码 ( ): 测试代码 ( - 核心逻辑):** 该测试用例验证了合法的指定响应者证书被接受,而伪造的(自签名)证书被拒绝。