CVE-2026-33753rfc3161-client是一个实现RFC 3161时间戳协议(TSP)的Python库。在1.0.6版本之前,该库存在授权绕过漏洞,允许攻击者冒充受信任的时间戳权威机构(TSA)。该漏洞源于 library 在从无序PKCS#7证书包中提取叶证书时存在逻辑缺陷。攻击者可以利用此漏洞,在响应中附加一个满足目标通用名称(Common Name)和扩展密钥用法(EKU)要求的伪造证书。这会导致库在验证授权规则时使用伪造证书,而在验证加密签名时使用真实可信的TSA(如FreeTSA)证书,从而完全绕过预期的TSA授权固定机制。
该漏洞的核心技术细节在于rfc3161-client处理PKCS#7签名数据结构时的逻辑错误。PKCS#7标准允许证书包包含多个证书,且顺序并非严格固定。受影响的库在提取用于验证授权策略(如Common Name和EKU)的叶证书时,未能正确区分签名证书与攻击者注入的额外证书。攻击者利用这一点,将伪造的身份证书与合法TSA生成的数字签名组合在同一个响应中。库在进行验证时,一方面用伪造证书通过了策略检查(因为伪造证书满足名称和用途要求),另一方面用合法证书通过了签名校验(因为签名是真实的)。这种验证对象的错位使得攻击者能够成功冒充受信任的时间戳权威机构(TSA),破坏了系统的完整性。