CVE-2026-33810该漏洞源于Go语言在验证证书链时对DNS约束处理的逻辑缺陷。当验证包含排除DNS约束的证书链时,系统未能正确将约束应用于大小写与约束不匹配的通配符DNS主题备用名称(SAN)。这可能导致攻击者利用大小写差异绕过安全策略,使受信任的证书链通过验证,从而引发潜在的安全欺骗风险。
漏洞位于Go标准库的`crypto/x509`包中,涉及对X.509证书名称约束的解析与验证。具体而言,当证书包含排除的DNS名称约束时,验证程序应确保所有SANs均不在被排除列表中。然而,代码在处理通配符域名(如*.example.com)时,未正确执行大小写不敏感匹配。若排除约束定义为"EXAMPLE.COM",而证书SAN为"*.example.com",验证器会错误地认为两者不匹配,从而忽略了排除约束。攻击者可利用此漏洞,通过精心构造证书大小写,绕过根CA设定的安全边界,使得本应被拒绝的证书链被视为合法,进而导致中间人攻击或身份伪造。