CVE-2026-22703:CWE-345:sigstore cosign中数据真实性验证不足
严重性:中 类型:漏洞 CVE:CVE-2026-22703
描述 Cosign为容器和二进制文件提供代码签名和透明度功能。在2.6.2和3.0.4之前的版本中,即使内嵌的Rekor条目未引用工件的摘要、签名或公钥,也可以精心构造Cosign捆绑包以成功验证工件。在验证Rekor条目时,Cosign会验证Rekor条目的签名,并将工件的摘要、来自Fulcio证书或由用户提供的用户公钥以及工件签名与Rekor条目内容进行比较。如果没有这些比较,Cosign会接受来自Rekor的任何响应为有效。攻击者在获取用户身份或签名密钥后,可以通过包含任意Rekor条目来构造有效的Cosign捆绑包,从而使用户无法审计签名事件。此问题已在2.6.2和3.0.4版本中修复。
技术分析 Cosign是sigstore项目中的一个工具,通过名为Rekor的透明日志,为容器镜像和二进制文件提供加密签名和透明度功能。在2.6.2和3.0.4版本之前,标识为CVE-2026-22703(CWE-345)的漏洞源于对cosign捆绑包中嵌入数据的真实性验证不足。具体来说,当cosign在验证工件签名时验证Rekor条目,它会检查Rekor条目的签名,但未能充分确认该Rekor条目引用了工件的摘要、签名或用户的公钥。这一缺陷使得攻击者在获取用户的签名密钥或身份后,可以制作包含与实际工件无关的任意Rekor条目的cosign捆绑包。因此,cosign会接受这些捆绑包为有效,从而使攻击者能够绕过依赖透明日志来验证已签名工件来源和完整性的审计机制。该漏洞影响签名过程的完整性,但不影响机密性或可用性。利用漏洞需要本地权限(AV:L)且复杂度低(AC:L),权限级别为拥有签名密钥访问权限的用户(PR:L),且无需用户交互(UI:N)。影响范围保持不变(S:U)。CVSS v3.1基础评分为5.5,属于中危。此漏洞在cosign用于保护供应链并在容器化部署中强制执行信任的环境中尤为关键。该问题已在cosign 2.6.2和3.0.4版本的补丁中得到解决,这些补丁实施了更严格的验证,确保Rekor条目与工件的摘要、签名和公钥完全对应。使用受影响版本的组织应立即升级,以防止潜在的完整性损害。
潜在影响 对于欧洲组织,此漏洞对使用cosign签署容器镜像和二进制文件的软件供应链的完整性构成风险。获取签名密钥的攻击者可以创建看似有效的欺诈性签名,破坏对已部署软件的信任,并可能使恶意代码在未被察觉的情况下传播。如果将恶意容器或二进制文件部署在生产环境中,可能导致系统受损、数据泄露或服务中断。这种影响对于严重依赖容器化和DevSecOps实践的部门(如金融服务、电信和关键基础设施)尤为显著。尽管机密性和可用性未直接受到影响,但完整性的丧失会对遵守欧盟《网络安全法案》和NIS2指令等强调供应链安全的法规产生连锁反应。无法准确审计签名事件也削弱了事件响应和取证能力。拥有大规模容器部署或参与开源软件供应链的组织面临更高的风险。
缓解建议 主要的缓解措施是将cosign升级到2.6.2或3.0.4及更高版本,这些版本已通过增强对Rekor条目与工件摘要、签名和公钥的验证修复了该漏洞。组织应围绕签名密钥实施严格的访问控制和监控以防止泄露,包括使用硬件安全模块(HSM)或安全的密钥保管库。为签名凭证实施多因素认证和定期密钥轮换策略。此外,集成对签名活动和透明日志异常的持续监控和告警,以便及时检测可疑行为。定期审计软件供应链和签名流程,以确保符合安全策略。对于关键部署,考虑实施对已签名工件和透明日志的带外验证。最后,教育开发人员和DevOps团队了解使用更新工具和安全密钥管理实践以防止利用漏洞的重要性。
受影响国家 德国,法国,荷兰,英国,瑞典,芬兰