CVE-2025-61727CVE-2025-61727是Go语言标准库crypto/tls中的一个安全漏洞,存在于证书链验证过程中。该漏洞允许攻击者通过在叶子证书中使用通配符SAN(Subject Alternative Name)来绕过证书链中的排除子域名约束。具体来说,当证书链包含排除特定子域名(如test.example.com)的约束时,攻击者可以使用通配符SAN(如*.example.com)来声称对该约束排除的子域名拥有合法证书。这破坏了证书验证的安全边界,可能导致中间人攻击或钓鱼攻击。攻击者可以利用此漏洞获取被排除子域名的有效证书,从而冒充合法服务。该漏洞影响所有使用Go语言进行TLS证书验证的应用程序。
该漏洞位于Go语言crypto/tls包的证书验证逻辑中。在X.509证书链验证过程中,当检查约束条件时,系统会遍历证书链中的每个证书,并验证其SAN(Subject Alternative Name)是否符合约束。然而,在处理排除子域名约束时,验证逻辑存在缺陷:当约束排除某个具体子域名(如test.example.com)时,系统未能正确限制叶子证书中使用通配符SAN(如*.example.com)。攻击者可以利用此漏洞获取一个由可信CA签发的证书,该证书包含通配符SAN *.example.com,然后声称对test.example.com拥有合法所有权。验证过程会错误地认为通配符SAN符合排除约束,因为通配符可以匹配包括被排除子域名在内的所有子域名。这绕过了证书颁发机构对特定子域名使用的限制,可能导致安全边界被突破。