CVE-2025-66564CVE-2025-66564是影响Sigstore Timestamp Authority(时间戳授权服务)的拒绝服务漏洞。Sigstore Timestamp Authority是一个用于颁发RFC 3161时间戳的服务,在供应链安全和软件签名验证场景中具有重要应用。漏洞存在于该服务的两个核心API函数中:api.ParseJSONRequest和api.getContentType。这两个函数在处理用户输入时,会对不可信的OID(对象标识符)和Content-Type头进行基于句点(period)的字符串分割操作。攻击者可以通过发送包含大量句点字符的超长OID载荷,或者构造格式异常的Content-Type头,使服务器在解析这些数据时执行O(n)复杂度的内存分配操作。当处理大量恶意请求或超大载荷时,会导致服务器内存资源被迅速耗尽,最终造成服务不可用。该漏洞无需任何认证即可被利用,攻击成本低,危害性大,建议相关用户尽快升级到修复版本。
该漏洞的核心问题在于字符串处理函数的算法复杂度。在api.ParseJSONRequest函数中,代码使用strings.Split对用户提供的OID进行分割,该OID是来自请求体的不可信数据。同样,api.getContentType函数对HTTP Content-Type头进行分割处理。当攻击者发送包含大量句点字符(如'aaa.aaa.aaa...')的超长OID字符串时,每次split操作都会创建新的字符串切片并分配内存,导致O(n)的时间和空间复杂度。由于OID长度没有限制,攻击者可以构造任意长度的恶意载荷。在实际攻击中,攻击者发送包含数百甚至数千个句点的OID字符串,服务器在解析每个请求时都会执行多次内存分配操作。当并发请求或单个请求的载荷足够大时,会导致堆内存被快速消耗,引发OutOfMemory错误或触发操作系统的OOM Killer机制,最终导致服务进程崩溃或系统变得极不稳定。修复方案(v2.0.3)需要对这些输入参数进行长度限制或优化分割算法的内存使用模式。